组合数据类型

组合数据类型

  • 序列类型
    • 列表类型的操作
  • 集合类型
    • 集合
  • 映射类型
    • 字典

组合数据类型能将同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序更容易。

序列类型

  • 各元素之间存在先后关系,通过序号访问,可以索引和切片,元素可以重复
  • 序列类型又包括字符串、元祖、列表三种
  • 元组类型一般用于表达固定数据项(减少程序出错)、函数多返回值、多变量同步赋值(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个位置出现了12个位置出现了110个位置出现了112个位置出现了113个位置出现了1

列表类型的操作

组合数据类型_第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)
运行结果:
中国 北京
美国 华盛顿

你可能感兴趣的:(python学习笔记,列表,python)