您的位置:首页 > 编程语言 > Python开发

Python基础-Dict 和 Set 类型

2016-11-02 21:54 417 查看

Python

Dict 和 Set 类型

Dict

Dict由来

footballStar=['Messi','Henry','Iniesta']//球星姓名
score=[50,34,15]//球星进球数


需要:查找球星的进球数.用两个 List查找很不方便,所以产生 Dict

dict = {
'Messi': 50,
'Henry': 34,
'Iniesta': 15
}


访问 Dict

可以简单地使用 d[key] 的形式来查找对应的 value,这和 list 很像,不同之处是,list 必须使用索引返回对应的元素,而dict使用key:

print(dict['Messi'])#50
print(dict['Henry'])#34
print(dict['Iniesta'])#15


特点:

查找速度快

存储的key-value序对是没有顺序的

作为 key 的元素必须不可变(基本数据类型如字符串、整数、浮点数不可变,可以作为 key,而 list 可变,不能作为 key)

##2. 存储的key-value序对是没有顺序的
dict = { 'Messi': 50, 'Henry': 34, 'Iniesta': 15 }
print(dict)
#{'Iniesta': 15, 'Henry': 34, 'Messi': 50} 不是按照顺序打印的


更新Dict

>>> dict = {
...     'Messi': 50,
...     'Henry': 34,
...     'Iniesta': 15
...
... }
>>> dict['Paul'] = 40##key 不存在,直接添加
>>> print(dict)
{'Iniesta': 15, 'Messi': 50, 'Henry': 34, 'Paul': 40}

>>> dict['Messi']=60##key存在,直接替换值
>>> print(dict)
{'Iniesta': 15, 'Messi': 60, 'Henry': 34, 'Paul': 40}


遍历 Dict

##打印 key和 value
>>> for value in dict:
...     print(value)//打印 key
...     print(dict[value])//打印 value
...
Iniesta
15
Messi
60
Henry
34
Paul
40


Set

和 java 里面的 set 一样,其作用是保证这个集合的元素不会重复。set存储的是无序集合,所以我们没法通过索引来访问。

- 创建 Set

>>> s = set(['A', 'B', 'C'])
>>> print(s)
{'C', 'A', 'B'}

>>> s = set(['A', 'B', 'C','C'])//传入重复的元素,会去掉重复的元素,只保留一个
>>> print(s)
{'C', 'A', 'B'}


访问 Set

>>> s = set(['A', 'B', 'C'])
>>> print(s)
{'C', 'A', 'B'}
>>> 'A' in s
True  //若元素存在 ,返回 True


遍历 Set

>>> for name in s:
...     print(name)
...
C
A
B


更新 Set

##添加元素,用 add()方法
>>> s = set([1, 2, 3])
>>> print (s)
{1, 2, 3}
>>> s.add(5)
>>> print (s)
{1, 2, 3, 5}

##删除元素,用 remove()方法
>>> s.remove(1)
>>> print(s)
{2, 3, 5}

>>> s.remove(6)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 6
##删除不存在的元素,会报错,进行删除前,需要判断是否
4000
存在于 set 中
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python dict set