序列
在Python中最基本的数据结构是序列,序列中的每个元素被分配了一个序号——即元素的位置,叫做索引。第一个索引是0,第二个是1,而倒数第一个元素可以标记为-1,倒数第二个为-2以此类推。
序列的元素可以是之前讲的所有基础数据类型,也可以是另一个序列,还可以是之后我们将要将的对象。
序列最常用的有两类,元组(tuple)和列表(list)。两者的区别是,列表可以修改,而元组不行。
>>> student1=("霸天虎","男",19) #student1就是元组
>>> student1 #在解释器中输入变量名称,可以显示变量值
('霸天虎', '男', 19)
>>> student2=["汤姆猫","男",22] #student2就是列表
>>> student2
['汤姆猫', '男', 22]
>>> student3=("王尼玛","男","未知",["脑袋大","脖子短","屁股圆"]) #在序列中的元素也是序列
>>> student3
('王尼玛', '男', '未知', ['脑袋大', '脖子短', '屁股圆'])
序列的操作
1.索引
>>> student1[0] #显示元组student1的第一个元素
'霸天虎'
>>> student1[-1] #显示元组student1的最后一个元素
19
>>> student3[-1][0] #显示元组student3最后一个元组元素中的第一个元素
'脑袋大'
>>> student3[-1][0][0] #显示元组student3最后一个元组元素中的第一个元素字符串中的第一个字符
'脑'
1.1分片
使用索引访问的是
单个元素,而使用分片访问的是
一坨元素
基本样式
[下限:上限:步长],步长省略默认步长为1.
>>> numbers=[1,2,3,4,5,6,7,8,9]
>>> numbers[0:3] #显示从第一个(包括第一个)到第三个(包括第三个)之间的元素,类似for(int i=0,i<3,i++)
[1, 2, 3]
>>> numbers[8:11] #显示第9个到第11个元素,因为没有第11个,所以只输出第9个元素
[9]
>>> numbers[-3:-1] #显示末第三到末第一个元素
[7, 8]
>>> numbers[-1:-3] #如果顺序写反,不会输出元素
[]
>>> numbers[:3] #如果索引空缺,则默认索引两端
[1, 2, 3]
>>> numbers[-3:]
[7, 8, 9]
>>> numbers[7:]
[8, 9]
>>> numbers[0:5:2] #显示第1个到第5个元素,且步长为2
[1, 3, 5]
>>> numbers[::3] #步长3,从左向右输出
[1, 4, 7]
>>> numbers[::-1] #步长为1,从右向左输出
[9, 8, 7, 6, 5, 4, 3, 2, 1]
2.赋值
>>> student1[0]="擎天柱" #给元组student1第一个元素重新赋值,结果报错
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
student1[0]="擎天柱"
TypeError: 'tuple' object does not support item assignment
>>> student2[0]="纸巾" #给列表student2第一个元素复制,没有问题
>>> student2
['纸巾', '男', 22]
3.序列相加与乘法
>>> ["王小明"]+["男"] #序列的加法
['王小明', '男']
>>> a=["王大头","男"]*11 #序列的乘法
>>> a
['王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男', '王大头', '男']
4.序列的循环调用
student3=("王尼玛","男","未知",["脑袋大","脖子短","屁股圆"])
for a in student3:
print(a)输出
王尼玛
男
未知
['脑袋大', '脖子短', '屁股圆']
词典
1.词典的定义
>>>dic = {'tom':11, 'sam':57,'lily':100} #tom是键,11是值
词典和表类似的地方,是包含有多个元素,每个元素以 逗号分隔。但词典的元素包含有两部分, 键和值,常见的是以 字符串来表示键,也可以使用数字或者真值来表示键(不可变的对象可以作为键)。值可以是 任意对象。键和值两者一一对应。
与列表和元组不同的是,词典的元素没有顺序。你不能通过下标引用元素。词典是通过
键来引用。
dic = {'tom':11, 'sam':57,'lily':100}
print(dic['tom'])
dic['tom'] = 30
dic['王尼玛']=250 #可以通过这种形式向词典中添加元素
print(dic)输出结果
11
{'sam': 57, '王尼玛': 250, 'tom': 30, 'lily': 100}
2.词典的循环调用
dic = {'tom':11, 'sam':57,'lily':100}
for key in dic:
print(key,dic[key])
输出
lily 100
sam 57
tom 11
小提示:
1.在初始化序列时,单个元素的排列仍是排列,单个元素的元组不是元祖。
>>> ("dd")
'dd' #不是元组
>>> ["dd"]
['dd']
2.其实tuple、list是python中的两个"类”。至于什么是类,之后我会提到
3.小括号是元组,中括号是列表,大括号是词典
欢迎收听我的微信公众号
本文是Python菜鸟学习手册的第四部分,主要讲解序列和词典的基础知识。介绍了序列的索引、分片、赋值、相加与乘法以及循环调用。同时,对词典的定义和循环调用进行了阐述,帮助初学者理解这两种重要的数据结构。
4794

被折叠的 条评论
为什么被折叠?



