概述
组合数据类型
- 序列类型
- 列表类型的操作
- 集合类型
- 集合
- 映射类型
- 字典
组合数据类型能将同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序更容易。
序列类型
- 各元素之间存在先后关系,通过序号访问,可以索引和切片,元素可以重复
- 序列类型又包括字符串、元祖、列表三种
- 元组类型一般用于表达固定数据项(减少程序出错)、函数多返回值、多变量同步赋值(a,b=1,2等价于a,b=(1,2))、循环遍历等情况,能用元组表示的一定也可以用集合表示
- 声明一个元素的元组一定要加(,)(eg:temp = (2,))
- 内置函数tuple()不仅可以初始化一个空的元组,也可以对字符串、列表、集合、range对象等类型进行强制转换
eg:tuple(range(10)) 输出:(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) - 元组类型不可变是指不能增加元素,不能删除元素,不能修改元素。但是如果第一层元素有列表、集合、字典等可变数据类型,那么该元素的子元素可以增删(eg: temp = (1,2,3,[4,5]) temp[3].append(6) 输出:(1,2,3,[4,5,6]))
- list()函数可以初始化一个空的列表,也可以对字符串、元组、集合、range对象等类型进行强制转换(eg: list(“abcd”) 输出:[‘a’, ‘b’, ‘c’, ‘d’])
- 列表的切片和索引得到的数据类型不同,字符串是相同的
- min和max函数不能进行不同类型之间的数据比较
- s.index(x[.i[.j]])序列s中从i开始到j位置中第一次出现元素x的位置
eg:
l = [1,0,1,0,3,5,9,10,11,12,1,5,1,1]
number = 1
offset = 0
while True:
try:
postion = l.index(number,offset)
print("第{}个位置出现了{}".format(postion,number))
offset = postion + 1
except:
break
输出结果:
第0个位置出现了1
第2个位置出现了1
第10个位置出现了1
第12个位置出现了1
第13个位置出现了1
列表类型的操作
s = [1,2,3,4,5,6,7]
s[0:2] = [2,3,4]
s
[2, 3, 4, 3, 4, 5, 6, 7]
s = [1,2,3,4,5,6,7]
s[0:2] = 'abcd'
s
['a', 'b', 'c', 'd', 3, 4, 5, 6, 7]
s = [1,2,3,4,5,6,7]
del s[0]
s
[2, 3, 4, 5, 6, 7]
#copy()是浅复制
s = [[1,2],3,4]
t = s.copy()
s
[[1, 2], 3, 4]
t
[[1, 2], 3, 4]
t[0][0]=[2]
t
[[[2], 2], 3, 4]
s
[[[2], 2], 3, 4]
#pop取出并删除
s = list(range(10))
s
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
s.pop()
9
s
[0, 1, 2, 3, 4, 5, 6, 7, 8]
s.pop()
8
s
[0, 1, 2, 3, 4, 5, 6, 7]
s.pop(2)
2
s
[0, 1, 3, 4, 5, 6, 7]
#remove只删除遇到的第一个
s = list(range(10))
s
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
s.remove(2)
s
[0, 1, 3, 4, 5, 6, 7, 8, 9]
s = [0,1,2,3,1,4,5,1,5]
s.remove(1)
s
[0, 2, 3, 1, 4, 5, 1, 5]
#删除所有对应的元素
l = [1,0,1,0,3,5,9,10,11,12,1,5,1,1]
while True:
try:
l.remove(1)
except:
break
print(l)
集合类型
忽略顺序,快速定位
集合类型元素之间无序,相同元素在集合中唯一存在
集合
set()用来生成一个空的集合,成员关系测试,元素去重,集合运算,
映射类型
映射类型是“键-值”数据项的组合,每个元素是一个键值对
字典
字典数据遍历
for <变量名> in <字典变量名称>:
语句块
只能取出来value
D = {"中国" : "北京", "美国" : "华盛顿"} # 构造一个国家对应首都的字典
for key in D:
print(key, D[key])#打印key
美国 华盛顿
中国 北京
D = {"中国":"北京","美国":"华盛顿"}
for key,value in D.items():
print(key,value)
运行结果:
中国 北京
美国 华盛顿
最后
以上就是醉熏香氛为你收集整理的组合数据类型序列类型集合类型映射类型的全部内容,希望文章能够帮你解决组合数据类型序列类型集合类型映射类型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复