你还在为python中的列表、元组、字典发愁嘛,别愣着了,快来看!

简介: 你还在为python中的列表、元组、字典发愁嘛,别愣着了,快来看!

一、列表


对于列表呢,它是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。


上面是菜鸟教程的解释,我觉得在这两句话中重要的点如下:

1.使用方括号,元素之间用逗号隔开。对于不同的括号,我觉得python利用的非常到位,几个常用的数据类型括号都不一样,文章最后大家可以总结一下。

2.列表中的数据元素不一定是同种类型。

栗子来了:

list1 = ['physics', 'chemistry', 1997, 2000]

看吧,一个列表里面出现了字符串、数字多种类型。


1.1 访问列表元素

创建完了就来看看怎么访问呢,其实对于这类数据结构,相比接触过编程的小伙伴们都知道访问的方式,没错,就是通过下标索引来访问其中的值!具体怎么操作呢,来了

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
print("list1[0]: ", list1[0])
print("list2[1:5]: ", list2[1:5])

image.png

这里要强调的是,列表中的元素对应的索引是从0开始的哦,兄弟们一定要记着,这可千万不能忘了。

还有就是采用冒号(:)的方式访问列表中的元素的时候,可以把他理解成左闭右开的区间,按照这个区间取值,正常情况下list中的值我们基本上都能访问了。


1.2 更新列表

list = []
list.append('Google')
list.append('Runoob')
print(list)

image.png

我们可以使用append函数对列表中的数据进行更新,所以如果我们需要找到一个能够更新方便的数据结构,我觉得列表是挺好的一个选择。


1.3 删除列表元素

list1 = ['physics', 'chemistry', 1997, 2000]
print(list1)
del list1[2]
print("After deleting value at index 2 : ")
print(list1)

image.png

列表中删除元素也是方便的,直接想删除哪个删除哪个,任性就完事了!


1.4 列表中的内置函数

image.png

这里列举了一些基础的函数,能够求解出列表中基础的一些参数,比如长度、最大值最小值之类的简单函数。

image.png

以上是一些相对而言并不那么常用的函数,但是某些地方用到也会出现奇效,小伙伴们可以收藏一下,然后用的时候直接拿来用就妥妥的了。


二、元组


元组其实和列表的差距并不是很大,但是也有其独立的特点,比如元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。举个栗子:

tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"   #  不需要括号也可以

从以上的例子就能看出,元组在结构上的差异和列表并没有什么特别多的不同,就是把方括号换成了圆括号,甚至不用带括号(luo奔)都是可以的。

但是这里元组的创建有两个点需要稍稍的那么注意一下子,就是空的元组创建和单一元素的元组创建。


空元组创建:

tup1 = ()

单一元素的元组创建:

tup1 = (50,)

后面的逗号是必须加的哦,否则可能就把这个默认识别成创建一个单一的整型变量了。


2.1 元组元素的访问

tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])

image.png

看吧,这个和列表的访问基本就没区别。


2.2 修改元组

这里就体现出了元组和列表的区别了。

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
tup3 = tup1 + tup2
print (tup3)

这样子对元组元素进行扩展是没有问题的,但是另一种情况就会出现问题:

tup1 = ('Google', 'Runoob', 1997, 2000)

其实,所谓元组的不可变指的是元组所指向的内存中的内容不可变。

但是,列表是可以的,

list = ['Google', 'Runoob', 1997, 2000] 
#以下的操作是非法的
list[0] = 100
print(list)

image.png


image.pngimage.pngimage.png

2.3 删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组

tup = ('Google', 'Runoob', 1997, 2000)
print (tup)
del tup
print ("删除后的元组 tup : ")
print (tup)

image.png


2.4 元组的内置函数

image.png

以上是元组的基本函数,图中也有基本的实例,兄弟们可以收藏下来,以后用到的时候拿来用就好。列表和元组两个结构基础的函数时差不多的,兄弟们照猫画猫就可以了。


三、字典


官方解释字典是一种可变容器模型,且可存储任意类型对象。

其实大家了解了以后就能看出它取名叫字典的原因了,我先剧透一下哦,就是大家想象一下自己用字典是不是在某一页数对应着某一个字,这个数据结构就是这种感觉,是一一对应的。


字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中。

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

一个简单的字典实例:

image.png


3.1 访问字典的值

字典和其他两种数据类型的不同在于多了一个键值,这个键值总不能闲置,所以用处就体现出来了。

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])

image.png

我们访问字典中的元素都是通过键值去访问的哦。


3.2 修改字典的值

开头的官方解释中就提到了,字典是一种可变的数据类型,仅仅是它的键是不可变的。

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8             
dict['School'] = "清华大学"  
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

image.png

能够看出,对于我们最初的字典,我们通过键的方式对值进行了改变。


3.3 删除字典中元素

删除操作能删单一的元素也能清空字典,清空只需一项操作。

删除单一元素:

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
del dict['Name'] # 删除键 'Name'
print(dict)

image.png

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
dict.clear()     # 清空字典
print(dict)

image.png


3.4 字典的特性

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

dict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}
print ("dict['Name']: ", dict['Name'])

image.png

2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。

dict = {['Name']: 'Runoob', 'Age': 7}
print ("dict['Name']: ", dict['Name'])

image.png


3.5 字典的函数

image.png

这里同样和列表、元组一样是最基本的几种函数,日常应用可能相对多一点。

image.png


第二张图中的函数是我们用的频率较少的,但是我觉得在使用过程中偶尔也会有奇效出现。


本篇介绍了程序中常见的三种数据类型,分别是列表、元组、字典,介绍的内容相对把我遇到的都介绍了,如果大家有想法也可以私信我大家一起讨论进步,如果文中有什么问题,欢迎大家批评指正。


目录
相关文章
|
10天前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
|
25天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
18 1
|
26天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
26天前
|
Python
SciPy 教程 之 SciPy 模块列表 9
SciPy教程之常量模块介绍,涵盖多种单位类型,如公制、质量、角度、时间、长度、压强等。示例展示了如何使用`scipy.constants`模块查询不同压强单位对应的帕斯卡值,包括atm、bar、torr、mmHg和psi。
15 1
|
23天前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
17 0
|
23天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
15 0
|
23天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
16 0
|
24天前
|
C语言 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第24天】在Python编程的世界中,追求代码的简洁性和可读性是永恒的主题。列表推导式(List Comprehensions)作为Python语言的一个特色功能,提供了一种优雅且高效的方法来创建和处理列表。本文将深入探讨列表推导式的使用场景、语法结构以及如何通过它简化日常编程任务。
|
25天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy 教程之 SciPy 模块列表 13 - 单位类型。常量模块包含多种单位:公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例:`constants.zero_Celsius` 返回 273.15 开尔文,`constants.degree_Fahrenheit` 返回 0.5555555555555556。
14 0
|
25天前
|
Python
SciPy 教程 之 SciPy 模块列表 11
SciPy教程之SciPy模块列表11:单位类型。常量模块包含公制单位、质量单位、角度换算、时间单位、长度单位、压强单位、体积单位、速度单位、温度单位、能量单位、功率单位、力学单位等。体积单位示例展示了不同体积单位的换算,如升、加仑、流体盎司、桶等。
19 0