Python Dictionary

本文深入讲解Python字典的使用,包括键值对的创建、访问、更新和删除操作,探讨字典键的独特属性,以及如何避免常见的错误。

Dictionary


键与值通过冒号分隔,每个键值对元素通过逗号分隔,整个序列以大括号包括,称为Dictionary。空的Dictionary为{}。
Dictionary中键是唯一的,值不一定;值的类型可以是任意类型,但是键必须是不可变数据,如string,number或tuple。

获取Dictionary元素值

可以通过dictionary[key]获取,例子

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print("dict['Name']: ", dict['Name'])
print("dict['Age']: ", dict['Age'])

执行结果

dict['Name']:  Zara
dict['Age']:  7

更新Dictionary

可以通过加入新的值或键值对或改变原有的值、删除存在的值更新Dictionary

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

print("dict['Age']: ", dict['Age'])
print("dict['School']: ", dict['School'])

执行结果

dict['Age']:  8
dict['School']:  DPS School

删除Dictionary元素

可以删除单独的Dictionary元素或清除Dictionary整个内容。

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del dict['Name']; # remove entry with key 'Name'
print("dict['Age']: ", dict['Age'])
dict.clear()     # remove all entries in dict
del dict       # delete entire dictionary

print("dict['School']: ", dict['School'])

执行del dict后,dictionary将不再存在

TypeError                                 Traceback (most recent call last)
<ipython-input-23-a2396c4e923b> in <module>()
      6 
      7 
----> 8 print("dict['School']: ", dict['School'])

TypeError: 'type' object is not subscriptable

Dictionary键的属性

Dictionary的值没有限制,可以是任意Python对象,标准的对象或用户自定义的;但是key却不一样。
对于key有两点要注意

  • 只能有一个输入值。意味着不允许重复的key。当遇到重复的key时,调用时采用最后一个key。
dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}
print("dict['Name']: ", dict['Name'])

执行结果

dict['Name']:  Manni
  • key必须不能改变。意味着可以字符串、数字、tuple作为key,但是像[‘key’]是禁止的。
dict = {['Name']: 'Zara', 'Age': 7}
print("dict['Name']: ", dict['Name'])

执行结果显示list不能作为key

TypeError                                 Traceback (most recent call last)
<ipython-input-25-6474d8eec85d> in <module>()
----> 1 dict = {['Name']: 'Zara', 'Age': 7}
      2 print("dict['Name']: ", dict['Name'])
TypeError: unhashable type: 'list'

Dictionary的function和method可以参考
https://www.tutorialspoint.com/python/python_dictionary.htm

回答: Python字典是一种无序的数据结构,用于存储键值对。它可以通过大括号{}来创建,也可以使用dict()函数来创建。\[2\]例如,可以使用以下代码创建一个字典: ```python my_dict = {'name': 'John', 'age': 25, 'city': 'New York'} ``` 或者可以使用以下代码创建一个字典: ```python my_dict = dict(name='John', age=25, city='New York') ``` 可以使用键来访问字典中的值,例如`my_dict\['name'\]`将返回'John'。\[3\]还可以使用循环来遍历字典的键和值,例如: ```python for key in my_dict: print(key, my_dict\[key\]) for value in my_dict.values(): print(value) ``` 这将分别打印出字典的键和对应的值。\[1\]此外,还可以使用其他方法来增加、更新和删除字典中的元素,以及对字典进行排序和使用其他字典函数和方法进行操作。 #### 引用[.reference_title] - *1* *3* [Python中的字典(Dictionary)](https://blog.youkuaiyun.com/smarten57/article/details/130595183)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python基础学习之字典(Dictionary)](https://blog.youkuaiyun.com/u010435091/article/details/102764295)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值