列表/元组/字典/集合
列表
>>>classmates = ['A', 'B', 'C']
>>>len(classmates)
3
索引进行访问
>>>classmates[0]
'A'
>>>classmates[1]
'B'
>>>classmates[2]
'C'
倒数索引
>>>classmates[-1]
'C'
>>>classmates[-2]
'B'
添加元素
>>>classmates.append('D') 追加
>>>classmates.insert(1, 'E') 插入
['A', 'E', 'B', 'C', 'D']
删除元素
>>>classmates.pop() 从列表中删除最后一个元素并返回
>>>classmates.pop(1) 删除索引为1的元素
替换元素的值:直接给对应索引赋值
列表可切片
>>> a=[1,2,3,4]
>>> a[:3]
[1, 2, 3]
>>>
元组
元组和列表非常类似,但一经创建,无法修改
>>>classmates = ('A', 'B', 'C')
没有append,insert,pop等方法
只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:
>>> t = (1,)
>>> t
(1,)
同样可以索引取值和切片
字典
键值对存储数据
score = {'A':100, 'B':90, 'C':80}
判断key是否存在
>>>'A' in score
True
或者
>>>'A' in score.keys()
True
判断值是否存在
>>>'A' in score.values()
False
删除键值对数据
>>>score.pop('A')
100
集合
set和dict类似,也是一组key的集合,但不存储value。
由于key不能重复,所以在set中,没有重复的key。
要创建一个set,需要提供一个list作为输入集合:
>>> s = set([1, 2, 3,3, 4])
>>> s
{1, 2, 3, 4}
重复元素在set中自动被过滤
>>> s = set('apple')
>>> s
{'a', 'p', 'l', 'e'}
添加元素add(key)
可以使用 discard(key) 和 remove(key) 方法删除集合中特定的元素
如果集合中不存在指定的元素,使用discard()保持不变;
但在这种情况下,remove()会引发KeyError。
set可以看成数学意义上的无序和无重复元素的集合,
因此,两个set可以做数学意义上的交集、并集等操作:
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}
>>> s1 - s2
{1}
>>> s1^s2
{1, 4}
不可变集合
可以使用函数 frozenset() 创建 frozenset。
>>> s = frozenset('Python')
>>> type(s)
<class 'frozenset'>
元组是不可变的列表,frozenset 是不可变的集合。