Python中的四种数据结构:列表(list),元组(tuple),字典(dict),集合(set)
(可以点击蓝色数据结构名称跳转的相对应的help()详细页面)
1.列表 list
1.1. 可变的,有序的。可以进行增,删,查,改的操作
myList = ['pen','notebook','eraser']
print('myList has ',len(myList),' 个items') # myList has 3 个items
myList.append('ruler') # ['pen','notebook','eraser','ruler']
del myList[0] # ['notebook','eraser','ruler'] python 是从0开始算的
1.2. 列表的引用,复制
myList = ['pen','notebook','eraser']
#引用
myNewList = myList # 这是引用!!不是赋值/复制的意思
myNewList.remove('pen')
print(myList) # ['notebook','eraser']
print(myNewList) # ['notebook','eraser']
#copy
myCopyList = myList[:]
myCopyList.append('copyPen')
print(myList) # ['notebook','eraser']
print(myCopyList) # ['notebook','eraser','copyPen']
如果想要复制一个列表或者类似的序列或者其他复杂的对象,那么必须使用切片的方法来取得复制。
2.元组 tuple
不可变,有序的。元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用
的元组的值不会改变。
myTuple = ('Monday','Tuesday','Wednesday')
myTuple[0] # Monday
myEmptyTuple = () # 空的tuple
mySingleTuple = (1,) # 要在唯一的一个member 后边加,表示这是一个tuple ,和一些带括号的表达式做区分
3.字典 dict
无序的,key:value 的形式。key是唯一的,要用简单(不可变)对象,e.g.字符串。value 就都可以。
myDict = {'Dad': '1st Jan','Mom': '12th Nov'}
# 遍历dict的items
for name, birthday in myDict.items():
print('{0}\'s birthday is {1}'.format(name, birthday))
#添加item
myDict['sister'] = '13th Dec'
print(myDict.items()) # dict_items([('Dad', '1st Jan'), ('Mom', '12th Nov'), ('sister','13th Dec')])
print(myDict) # {'Dad': '1st Jan', 'Mom': '12th Nov','sister': '13th Dec'}
#判断某个key是否存在
if 'sister' in myDict:
print('sister in myDict')
4.集合 set
无序的,当对象存在与否比较重要时用set。可以用集合来做数学上的集合操作,求交集,是否为子集之类
mySet = set([1,99,6])
mySetC = mySet.copy()
mySetC.add(55) # {56, 1, 99, 6}
mySetC & mySet # 交集{1, 99, 6}
mySetC | mySet # 并集{1, 99, 6, 56}