早前接触过Python的时候就被这些定义搞得含混不清,但是不理解的事物会一直成为一个绊脚石。今天下定决心要将这些知识彻底搞懂吸收,故在此写下知识要点。

1.列表(List)是一种有序和可更改的集合。允许重复的成员。 2.元组(Tuple)是一种有序且不可更改的集合。允许重复的成员。 3.集合(Set)是一个无序和无索引的集合。没有重复的成员。 4.词典(Dictionary)是一个无序,可变和有索引的集合。没有重复的成员。

列表

创建和索引

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mylist = ['fuck','this','shit']
print(mylist) #创建
print(mylist[1]) #第一个元素序号是0
print(mylist[2:5]) #索引范围
mylist[1] = 'you' #更改某一项
for x in mylist:
print(x) #遍历列表
if 'shit' in mylist:
print('Oh,yeah!')
mylist.append('she') #追加项目
mylist.insert(2,'bloody') #插入项目
mylist.remove('fuck') #删除指定项目
del mylist[0] #按索引删除,不加索引即删除整个列表
mylist.clear() #清空列表

复制列表

1
copylist = mylist.copy()

或者

1
copylist = list(mylist)

合并列表

最简单的方式是使用+,如:

1
list3 = list1 + list2

或者

1
list1.extend(list2)

总结:

方法 描述
append() 在列表的末尾添加一个元素
clear() 删除列表中的所有元素
copy() 返回列表的副本
count() 返回具有指定值的元素数量。
extend() 将列表元素(或任何可迭代的元素)添加到当前列表的末尾
index() 返回具有指定值的第一个元素的索引
insert() 在指定位置添加元素
pop() 删除指定位置的元素
remove() 删除具有指定值的项目
reverse() 颠倒列表的顺序
sort() 对列表进行排序

元组

创建和索引

1
2
mytuple = ('apple','banana','cherry')
print(mytuple[1]) #与列表类似

更改元组值

需要将元组更改为列表:

1
2
3
4
x = ('apple','banana','cherry')
y = list(x)
y[1] = 'kiwi' #转化为列表之后更改
x = tuple(y) #转化回元组

如果只需要创建有一个项目的元组,即单项元组,需要在之后加上逗号:

1
2
mytuple = ('apple',)
print(type(mytuple))

注意:

我们无法删除元组的项目,但是可以删除整个元组,使用del。

集合

创建与索引

1
myset = {'apple','banana','pear'}

集合是无序的

添加项目

1
2
myset.add('orange') #单个项目
myset.update(['orange','mango'])
方法 描述
add() 向集合添加元素。
clear() 删除集合中的所有元素。
copy() 返回集合的副本。
difference() 返回包含两个或更多集合之间差异的集合。
difference_update() 删除此集合中也包含在另一个指定集合中的项目。
discard() 删除指定项目。
intersection() 返回为两个其他集合的交集的集合。
intersection_update() 删除此集合中不存在于其他指定集合中的项目。
isdisjoint() 返回两个集合是否有交集。
issubset() 返回另一个集合是否包含此集合。
issuperset() 返回此集合是否包含另一个集合。
pop() 从集合中删除一个元素。
remove() 删除指定元素。
symmetric_difference() 返回具有两组集合的对称差集的集合。
symmetric_difference_update() 插入此集合和另一个集合的对称差集。
union() 返回包含集合并集的集合。
update() 用此集合和其他集合的并集来更新集合。

字典

创建与索引

1
2
3
4
5
6
7
8
mydict =	{
"brand": "Porsche",
"model": "911",
"year": 1963
}
print(mydict)
x = mydict["model"]
x = mydict.get("model") #获取某个键对应的值

字典的嵌套

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
child1 = {
"name" : "Phoebe Adele",
"year" : 2002
}
child2 = {
"name" : "Jennifer Katharine",
"year" : 1996
}
child3 = {
"name" : "Rory John",
"year" : 1999
}

myfamily = {
"child1" : child1,
"child2" : child2,
"child3" : child3
}
clear() 删除字典中的所有元素
copy() 返回字典的副本
fromkeys() 返回拥有指定键和值的字典
get() 返回指定键的值
items() 返回包含每个键值对的元组的列表
keys() 返回包含字典键的列表
pop() 删除拥有指定键的元素
popitem() 删除最后插入的键值对
setdefault() 返回指定键的值。如果该键不存在,则插入具有指定值的键。
update() 使用指定的键值对字典进行更新
values() 返回字典中所有值的列表