集合(set)
还记得初中数学中的集合的概念吗?
{1, 2, 3}
Python中的集合跟数学中的一样。你可以通过set([1, 2, 3, 4])的方式,用一个列表来创建一个集合:
>>> set([1,2,3, 4])
{1, 2, 3, 4}
跟数学中的集合一样,Python中的集合也不可以有重复元素:
>>> {1, 2, 2, 3}
{1, 2, 3}
你可以通过add()方法添加元素:
>>> s = {1, 2, 2, 3}
>>> s.add(4)
{1, 2, 3, 4}
还可以通过remove()方法删除元素:
>>> s.remove(2)
>>>s
{1, 3, 4}
你甚至还可以进行数学上的交集、并集操作:
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}
值得注意的一点是,set里的元素必须是不可变元素,比如字符串,数字。set虽然可以用列表初始化,但它不能包含列表。
字典
字典里的每个元素是一个一个的键值对。
>>> d = {"张三":100, "李四":96, "王五": 88}
每个元素,前面的是键,后面的是值。键必须是唯一的,如果两个键相同,后面的键值对会顶替前面的值。你可以通过键来获取值:
>>> d["张三"]
100
>>> d["张三"] = 99
>>> d["张三"]
99
如果key不存在,就会报错:
>>> d['赵六']
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
d['赵六']
KeyError: '赵六'
你有两种方法来判断key是否存在:
1.通过in来判断:
>>> "王二麻" in d
False
2.通过get()方法,如果key不存在,返回None,或者指定默认值:
>>> d.get('王二麻')
>>> d.get('王二麻', 60)
60
删除字典里安的元素可以通过pop()方法:
>>> d.pop('张三')
99
>>> d
{"李四":96, "王五": 88}