字典 dict
格式
dict = {key1:value1, key2:value2, key3:value3,...}
与 list 对比
list = [4,5,6,7]
index: 0 1 2 3
value: 4 5 6 7
dict1 = {"a":4, "b":5, "c":6, "d":7}
key: a b c d
value: 4 5 6 7
dict 比 list 的索引更灵活,同样索引不能重复。
操作
- 增加、修改
与 list 一致
>>> dict1
{'a': 4, 'b': 5, 'c': 6, 'd': 7}
>>> dict1 ["a"] = 100
>>> dict1
{'a': 100, 'b': 5, 'c': 6, 'd': 7}
>>>
>>> dict1["test"] = [1,2,3]
>>> dict1
{'a': 100, 'b': 5, 'c': 6, 'd': 7, 'test': [1, 2, 3]}
- 删除 <和list基本一致,但字典没有remove>
- 删除单个元素
>>> dict1
{'a': 100, 'b': 5, 'c': 6, 'd': 7, 'test': [1, 2, 3]}
>>> del dict1["a"]
>>> dict1
{'b': 5, 'c': 6, 'd': 7, 'test': [1, 2, 3]}
>>>
- 删除全部元素
>>> dict1.clear()
>>> dict1
{}
- 删除整个字典
>>> del dict1
>>> dict1
Traceback (most recent call last):
File "<pyshell#52>", line 1, in <module>
dict1
NameError: name 'dict1' is not defined
- 其他……
如 copy 等,但字典无 sort
>>> dict2
{'a': 1, 'b': 2}
>>> dict2.values()
dict_values([1, 2])
>>> dict2.keys()
dict_keys(['a', 'b'])
字典的遍历
- 方法1
for eve in dict1:
print(eve,dict1[eve])
- 方法2
for key,value in dict1.items():
print(key,value)
无序列表 set
格式
列表 = set(值)
特点:无索引,不重复
>>> list1 = set([1,1,2,2,3])
>>> list1
{1, 2, 3}
>>> list1.add(4)
>>> list1
{1, 2, 3, 4}
>>> list1.remove(2)
>>> list1
{1, 3, 4}
列表、元组、字典、无序列表区分
索引 | 顺序 | 重复 | 增 | 删 | 改 | 查 | ||
---|---|---|---|---|---|---|---|---|
list | Y | Y | Y | Y | Y | Y | Y | 什么都可以放 |
tuple | Y | Y | N | N | N | Y | Y | 和 list 一样,但速度更快,不能删改(切片除外) |
dict | key | N | key:N value:Y | Y | Y | Y | Y | 是 list 的自由版,因为没有索引,所以是无序的 |
set | N | N | N | Y | Y | N | N | 和 list 类似,但是无序且不能重复的 |