集合和字典(第12篇)

2016-03-29  本文已影响54人  你好星期四

集合(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}
上一篇下一篇

猜你喜欢

热点阅读