列表
用来存储一组有序数据元素的数据结构, 元素之间用逗号分隔。
列表中的数据元素应该包括在方括号中, 列表是可变的数据类型, 一旦创建了一个列表, 可以添加、 删除或者搜索列表中的元素。
列表中的元素不必是相同的类型。如果只有一对方括号而没有任何元素则表示空列表。
列表获取指定位置的元素利用的方法和字符串索引是一致的, 主要有普通索引和切片索引两种。
普通索引是获取某一特定位置的元素。
切片索引是获取某一位置区间内的元素。
演示:
列表中常用到的函数:
元组
元组是序列数据结构的另一个重要类型,元组与列表非常类似,唯一的不同是元组一经定义,其内容就不能修改。
从形式上,元组的所有元素放在一对括号中,元素之间使用逗号分隔,如果元组中只有一个元素则必须在最后增加一个逗号。
同样的元组内元素的获取方法主要分为普通索引和切片索引两种。
注意:
元组是不可改变的,这点跟字符串很像。所以元组只能查看而不能修改。
空元组为()
集合
集合(set)属于Python数据结构中的无序可变序列,使用一对大括号作为定界符,元素之间使用逗号分隔,同一个集合内的每个元素都是唯一的,元素之间不允许重复。集合中只能包含数字、字符串、元组等不可变类型的数据,而不能包含列表、字典、集合等可变类型的数据。
注意:
因为集合没有顺序,因此不能使用索引访问元素。另外也不能通过索引删除元素。
一个空集合表示为set(),而不是用{}来表示这点要和字典区分开来。
字典
字典是包含若干“键:值”元素的无序可变序列,字典中的每个元素包含用冒号分隔开的“键”和“值”两部分,表示一种映射或对应关系,类似于通过联系人姓名查找地址和联系人详细情况的地址簿, 即把键(名字) 和值(详细情况) 联系在一起。
定义字典时,每个元素的“键”和“值”之间用冒号分隔,不同元素之间用逗号分隔,所有的元素放在一对大括号“{}”中。
字典中元素的“键”的类型必须是Python的不可变类型,例如数字类型、字符串类型、元组类型等,但不能使用列表、集合、字典或其他可变类型作为字典的“键”。另外,字典中的“键”不允许重复,而“值”是可以重复的。
字典中可以通过键来查找值
也可以通过键来修改值
用del函数可以通过字典的键来删除对应的键值对
person={'name':'Rose','age':'10','phone':'1111111'}
del person['age']
print(person)
结构间的转换
通过list()函数,把字符串转换成列表,字符串本质上也是一种内置结构
代码如下:
list1 = list("abcdefg")
也可以把元组转换成列表,
代码如下 :
list2 = list((1,2,3,4))
list还可以把集合转换成列表
list3 = list({1,2,3,4,5,6})
list可以将字典的键转换成列表
list4=list({'x':1,"y":2})
tuple()函数同样可以将字符串、集合、列表转换成元组:
set()函数同样可以把字符串、元组、列表、集合转换成集合类型
set1 = set("abcdfg")
set2 = set((1,2,3,4))
set3 = set([1,2,3,4])
set4 = set({1,2,3,4})
print(set1)
print(set2)
print(set3)
print(set4)
dict函数可以将嵌套的列表和嵌套元组转换成字典,在使用之前要明白什么是列表嵌套和元组嵌套。
结构嵌套
结构是可以嵌套使用的,也就是一些结构可以作为另一个结构的元素。
列表包含列表
nest_list = [1,2,3, ['a', 'b', 'c'] ]
列表也可以包含元组
nest_list2 = [1,2,3, ('a', 'b', 'c') ]
元组也可以嵌套列表
nest_tuple = ([1,2], [3,4])
把嵌套元组或嵌套列表转换成字典
dict1=dict([['key1',100],['key2',200]])
dict2=dict((['key1',100],['key2',200]))
dict3=dict((('key1',100),('key2',200)))
dict4=dict([('key1',100),('key2',200)])
print(dict1)
print(dict2)
print(dict3)
print(dict4)
这样写太麻烦了,工厂函数dict还提供了一个简单形式供大家使用
> dict(key1 = 100,key2 = 200)