1.字典(映射类型)dict()和{}
1.1 键(key) 值(value)
dict1 = {'李宁':'一切皆有可能','耐克':'Just do it','阿迪达斯':'Impossible isnothing','鱼C工作室':'让编程改变世界'}
print('鱼C工作室口号:',dict1['鱼C工作室'])
鱼C工作室口号: 让编程改变世界
dict1 = {'李宁':'一切皆有可能','耐克':'Just do it','阿迪达斯':'Impossible isnothing','鱼C工作室':'让编程改变世界'}
>>> print('鱼C工作室口号',dict1['鱼C工作室'])
鱼C工作室口号 让编程改变世界
>>> print('鱼C工作室口号:',dict1['鱼C工作室'])
鱼C工作室口号: 让编程改变世界
>>> dict2 = dict(小甲鱼='让编程改变世界',苍井空='让AV征服所有宅男')
>>> dict2
{'小甲鱼': '让编程改变世界', '苍井空': '让AV征服所有宅男'}
>>> dict2['苍井空'] = '让所有AV从业者都要通过学习Python提高职业技能'
>>> dict2
{'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能'}
>>> dict2['爱迪生'] = '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'
>>> dict2
{'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'}
1.2 工厂函数
str(),int(),list(),tuple().....
fromkeys(...)
dict.fromkeys(S[,V]) -> New dict with keys from and values equal to v(v defaults to None).
dict3 = {}
>>> dict3.fromkeys((1,2,3))
{1: None, 2: None, 3: None}
>>> dict3.fromkeys((1,2,3),'Number')
{1: 'Number', 2: 'Number', 3: 'Number'}
>>> dict3.fromkeys((1,2,3),'one','two','three')
>>> dict3.fromkeys((1,2,3),('one','two','three'))
{1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}
dict3 = dict3.fromkeys(range(9),'Good')
>>> dict3
{0: 'Good', 1: 'Good', 2: 'Good', 3: 'Good', 4: 'Good', 5: 'Good', 6: 'Good', 7: 'Good', 8: 'Good'}
访问字典的方法:keys(),values(),items()
keys() 返回键的引用
>>> for eachKey in dict3.keys():
print(eachKey)
0
1
2
3
4
5
6
7
8
values()
>>> for eachValues in dict3.values():
print(eachValues)
Good
Good
Good
Good
Good
Good
Good
Good
Good
items()
>>> for eachItems in dict3.items():
print(eachItems)
(0, 'Good')
(1, 'Good')
(2, 'Good')
(3, 'Good')
(4, 'Good')
(5, 'Good')
(6, 'Good')
(7, 'Good')
(8, 'Good')
1.3 get()
dict3.get(9)
>>> print(dict3.get(9))
None
>>> dict3.get(9,'不存在')
'不存在'
>>> dict3.get(8,'不存在')
'Good'
>>>9 in dict3
False
>>> 8 in dict3
True
1.4 clear()
>>> dict3
{0: 'Good', 1: 'Good', 2: 'Good', 3: 'Good', 4: 'Good', 5: 'Good', 6: 'Good', 7: 'Good', 8: 'Good'}
>>> dict3.clear()
>>> dict3
1.5 浅拷贝与赋值:浅拷贝是对对象的表层拷贝,赋值是贴了一个不同的标签在数据上面
>>> dict2
{'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'}
>>> dict5 = dict2.copy()
>>> dict6 = dict2
>>> dict2
{'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'}
>>> dict5
{'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'}
>>> dict6
{'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'}
>>> id(dict2)
50274736
>>> id(dict5)
50275024
>>> id(dict6)
50274736>>> dict2['李宁'] = '一切皆有可能'
>>> dict2
{'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要', '李宁': '一切皆有可能'}
>>> dict5
{'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'}
>>> dict6
{'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要', '李宁': '一切皆有可能'}
1.6 update()
>>> dict6
{'小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要', '李宁': '一切皆有可能'}
>>> dict1
{'李宁': '一切皆有可能', '耐克': 'Just do it', '阿迪达斯': 'Impossible isnothing', '鱼C工作室': '让编程改变世界'}
>>> dict1.update(dict6)
>>> dict1
{'李宁': '一切皆有可能', '耐克': 'Just do it', '阿迪达斯': 'Impossible isnothing', '鱼C工作室': '让编程改变世界', '小甲鱼': '让编程改变世界', '苍井空': '让所有AV从业者都要通过学习Python提高职业技能', '爱迪生': '天才是99%的汗水和1%的灵感,但1%的灵感远远比99%的汗水更重要'}
2 aggregate集合,集合里的元素具有唯一性
2.1 创建结合,两种方法
2.1.1 直接把一堆元素用花括号{}括起来
2.1.2 使用set9()工厂函数
>>> set1 = set([1,2,3,4,5,4,3,2,1])
>>> set1
{1, 2, 3, 4, 5}
2.2 访问集合中的值
2.2.1 使用for把集合中的数据一个个读取出来
2.2.2 通过in和not in 判断一个元素是否在集合中存在
2.3 不可变集合
frozen:冰冻的,冻结的
>>> num1 = frozenset(set1)
>>> num1
frozenset({1, 2, 3, 4, 5})
>>> num1.add(0)
Traceback (most recent call last):
File "
", line 1, in
num1.add(0)
AttributeError: 'frozenset' object has no attribute 'add'