Python 字典
字典是Python中的一种内置数据类型。 Python的字典是映射类型的示例。 映射对象将一个对象的值“映射”到另一个对象。
在语言字典中,我们有单词和对应含义的配对。 配对的两个部分是键(单词)和值(含义)。 同样,Python字典也是一组键:值对的集合。 这些对用逗号分隔,并放在大括号{}中。
为了在键和值之间建立映射,冒号’:’符号被放置在两者之间。
下面给出了一些Python字典对象的示例-
capitals = {"Maharashtra":"Mumbai", "Gujarat":"Gandhinagar", "Telangana":"Hyderabad", "Karnataka":"Bengaluru"}
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"}
marks = {"Savita":67, "Imtiaz":88, "Laxman":91, "David":49}
示例1
只能使用数字、字符串或元组作为键,它们都是不可变的。您可以使用任何类型的对象作为值。因此,以下字典的定义也是有效的 −
d1 = {"Fruit":["Mango","Banana"], "Flower":["Rose", "Lotus"]}
d2 = {('India, USA'):'Countries', ('New Delhi', 'New York'):'Capitals'}
print (d1)
print (d2)
它会产生以下 输出 −
{'Fruit': ['Mango', 'Banana'], 'Flower': ['Rose', 'Lotus']}
{'India, USA': 'Countries', ('New Delhi', 'New York'): 'Capitals'}
示例2
Python不接受可变对象(如列表)作为键,并抛出TypeError错误。
d1 = {["Mango","Banana"]:"Fruit", "Flower":["Rose", "Lotus"]}
print (d1)
它会引发TypeError错误−
Traceback (most recent call last):
File "C:\Users\Sairam\PycharmProjects\pythonProject\main.py", line 8, in <module>
d1 = {["Mango","Banana"]:"Fruit", "Flower":["Rose", "Lotus"]}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: unhashable type: 'list'
示例3
你可以给字典中的多个键赋值,但是一个键不能在字典中重复出现。
d1 = {"Banana":"Fruit", "Rose":"Flower", "Lotus":"Flower", "Mango":"Fruit"}
d2 = {"Fruit":"Banana","Flower":"Rose", "Fruit":"Mango", "Flower":"Lotus"}
print (d1)
print (d2)
这将生成以下 输出 −
{'Banana': 'Fruit', 'Rose': 'Flower', 'Lotus': 'Flower', 'Mango': 'Fruit'}
{'Fruit': 'Mango', 'Flower': 'Lotus'}
Python字典运算符
在Python中,定义了以下用于字典操作数的运算符。在示例中,使用了以下字典对象。
d1 = {'a': 2, 'b': 4, 'c': 30}
d2 = {'a1': 20, 'b1': 40, 'c1': 60}
运算符 | 描述 | 示例 |
---|---|---|
dict[key] |
提取/赋值与键对应的值 | print (d1['b']) 检索的是4 d1['b'] = 'Z' 给键’b’赋予新的值 |
dict1|dict2 |
两个字典对象的并集,返回新的对象 | d3=d1|d2 ; print (d3) {'a': 2, 'b': 4, 'c': 30, 'a1': 20, 'b1': 40, 'c1': 60} |
dict1|=dict2 |
增强字典并集运算符 | d1|=d2; print (d1) {'a': 2, 'b': 4, 'c': 30, 'a1': 20, 'b1': 40, 'c1': 60} |