Python字典用法
高唐网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联成立与2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
Python中的字典是一种可变容器模型,用于存储键值对。字典中的键必须是唯一的,而值可以不唯一。字典是无序的,即字典中的元素没有顺序。
字典的特点:
- 字典中的键必须是唯一的;
- 字典中的键必须是不可变的,如字符串、数字或元组;
- 字典中的值可以是任意类型的,如字符串、数字、列表、元组、字典等;
- 字典是无序的。
字典的创建
在Python中,可以使用花括号 {} 或 dict() 函数来创建一个字典。
示例:
`python
# 使用花括号创建字典
person = {'name': '张三', 'age': 18, 'gender': '男'}
print(person)
# 使用 dict() 函数创建字典
person = dict(name='张三', age=18, gender='男')
print(person)
输出结果:
{'name': '张三', 'age': 18, 'gender': '男'}
{'name': '张三', 'age': 18, 'gender': '男'}
字典的访问
可以使用字典的键来访问字典中的值。
示例:
`python
person = {'name': '张三', 'age': 18, 'gender': '男'}
print(person['name'])
print(person['age'])
print(person['gender'])
输出结果:
张三
18
如果访问不存在的键,则会抛出 KeyError 异常。
示例:
`python
person = {'name': '张三', 'age': 18, 'gender': '男'}
print(person['height'])
输出结果:
KeyError: 'height'
可以使用 get() 方法来访问字典中的值,如果键不存在,则返回 None 或指定的默认值。
示例:
`python
person = {'name': '张三', 'age': 18, 'gender': '男'}
print(person.get('name'))
print(person.get('height'))
print(person.get('height', '未知'))
输出结果:
张三
None
未知
字典的修改和删除
可以使用赋值语句来修改字典中的值。
示例:
`python
person = {'name': '张三', 'age': 18, 'gender': '男'}
person['age'] = 20
print(person)
输出结果:
{'name': '张三', 'age': 20, 'gender': '男'}
可以使用 del 语句来删除字典中的键值对。
示例:
`python
person = {'name': '张三', 'age': 18, 'gender': '男'}
del person['age']
print(person)
输出结果:
{'name': '张三', 'gender': '男'}
字典的遍历
可以使用 for 循环来遍历字典中的键值对。
示例:
`python
person = {'name': '张三', 'age': 18, 'gender': '男'}
for key, value in person.items():
print(key, value)
输出结果:
name 张三
age 18
gender 男
可以使用 for 循环来遍历字典中的键。
示例:
`python
person = {'name': '张三', 'age': 18, 'gender': '男'}
for key in person.keys():
print(key)
输出结果:
name
age
gender
可以使用 for 循环来遍历字典中的值。
示例:
`python
person = {'name': '张三', 'age': 18, 'gender': '男'}
for value in person.values():
print(value)
输出结果:
张三
18
字典的常用方法
- clear():清空字典;
- copy():复制字典;
- fromkeys():创建一个新字典,其中包含指定的键和值,默认值为 None;
- items():返回一个包含所有键值对的元组列表;
- keys():返回一个包含所有键的列表;
- values():返回一个包含所有值的列表;
- pop():删除指定键并返回对应的值;
- popitem():随机删除一个键值对并返回对应的键和值;
- setdefault():获取指定键的值,如果键不存在,则返回指定的默认值,并将其插入到字典中;
- update():将指定字典中的键值对添加到当前字典中。
示例:
`python
person = {'name': '张三', 'age': 18, 'gender': '男'}
print(person.clear()) # None
print(person.copy()) # {'name': '张三', 'age': 18, 'gender': '男'}
print(dict.fromkeys(['name', 'age', 'gender'])) # {'name': None, 'age': None, 'gender': None}
print(person.items()) # dict_items([('name', '张三'), ('age', 18), ('gender', '男')])
print(person.keys()) # dict_keys(['name', 'age', 'gender'])
print(person.values()) # dict_values(['张三', 18, '男'])
print(person.pop('age')) # 18
print(person.popitem()) # ('gender', '男')
print(person.setdefault('name', '未知')) # 张三
print(person.setdefault('height', 180)) # 180
print(person) # {'name': '张三', 'height': 180}
person.update({'age': 20, 'gender': '男'})
print(person) # {'name': '张三', 'height': 180, 'age': 20, 'gender': '男'}
问答
1. 字典中的键必须是唯一的吗?
是的,字典中的键必须是唯一的。
2. 字典中的键可以是什么类型?
字典中的键必须是不可变的,如字符串、数字或元组。
3. 如何访问字典中的值?
可以使用字典的键来访问字典中的值,如 person['name']。
4. 如何修改字典中的值?
可以使用赋值语句来修改字典中的值,如 person['age'] = 20。
5. 如何删除字典中的键值对?
可以使用 del 语句来删除字典中的键值对,如 del person['age']。
6. 如何遍历字典中的键值对?
可以使用 for 循环和 items() 方法来遍历字典中的键值对,如 for key, value in person.items():。
7. 如何获取字典中的键或值?
可以使用 for 循环和 keys() 或 values() 方法来遍历字典中的键或值,如 for key in person.keys(): 或 for value in person.values():。
8. 如何清空字典?
可以使用 clear() 方法来清空字典,如 person.clear()。
9. 如何复制字典?
可以使用 copy() 方法或 dict() 函数来复制字典,如 person.copy() 或 dict(person)。
10. 如何创建一个新字典?
可以使用 fromkeys() 方法来创建一个新字典,如 dict.fromkeys(['name', 'age', 'gender'])。