Python基础(十五、数据容器之字典Dict)


什么是数据容器?
数据容器是Python中用于存储和操作数据的对象。它们可以容纳不同类型的数据,如数字、字符串、列表、字典等,并提供了各种方法来访问和操作这些数据。

有哪些数据容器?
Python提供了几种常见的数据容器,包括列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。他们都能满足容纳多个元素的特点。
每种容器都有其独特的特点和用途,我们将逐一探索它们。

字典(Dictionary)
字典是一种键值对的数据容器,用于存储和访问具有唯一键的值。字典中的键和值可以是任意类型的数据。例如,我们可以创建一个名为student的字典来存储学生信息:student = {‘name’: ‘John’, ‘age’: 18, ‘grade’: ‘A’}。

一、字典的语法

字典的定义,使用{},存储的元素是一个一个的键值对。

# 定义字典字面量
{key: value, key: value, ……, key: value}
# 定义字典变量
my_dict = {key: value, key: value, ……, key: value}
# 定义空字典
my_dict = {}
my_dict = dict()

例如:

my_dict = {"王力宏": {"年龄":22}, "周杰伦": {"歌曲名称": ["简单爱","青花瓷"]}, "林俊杰":["江南","一千年以后","小酒窝","背对背拥抱"]}
my_dict2 = dict()
my_dict3 = {}

二、字典的使用方法

新增/更新

通过字典[key]=value

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
my_dict['born']=1999
print(my_dict)  # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York', 'born': 1999}

取值[key]

通过[key]即可取出value

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(my_dict['name'])  # 输出: Alice

清空clear()

清空字典中的所有元素

# clear() 方法
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
my_dict.clear()
print(my_dict)  # 输出: {}

浅拷贝copy()

返回字典的浅拷贝

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
new_dict = my_dict.copy()
print(new_dict)  # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York'}

创建新字典fromkeys(seq, value)

创建一个新字典,使用指定的键序列(seq)作为键,并设置它们的值为 value。

# fromkeys(seq, value) 方法
x = ('key1', 'key2', 'key3')
y = 0
new_dict = dict.fromkeys(x, y)
print(new_dict)  # 输出: {'key1': 0, 'key2': 0, 'key3': 0}

转列表包含元组键值对items()

返回一个包含所有字典项的列表,每个元素都是一个 (key, value) 的元组。

# items() 方法
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
items = my_dict.items()
print(items)  # 输出: dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])

获取字典键列表keys()

返回一个包含所有字典键的列表。

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# keys() 方法
keys = my_dict.keys()
print(keys)  # 输出: dict_keys(['name', 'age', 'city'])

获取字典值列表values()

返回一个包含所有字典值的列表。

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# values() 方法
values = my_dict.values()
print(values)  # 输出: dict_values(['Alice', 25, 'New York'])

删除指定键并返回对应的值pop(key, default)

删除指定键并返回对应的值,如果键不存在则返回默认值。

# pop(key, default) 方法
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
value = my_dict.pop('age')
print(value)  # 输出: 25

随机删除并返回一个键值对popitem()

随机删除并返回一个键值对(通常是末尾的键值对)。

# popitem() 方法
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
key, value = my_dict.popitem()
print(key, value)   # 输出: city New York
print(my_dict)      # 输出: {'name': 'Alice', 'age': 25}

返回指定键的值setdefault(key, default)

返回指定键的值,如果键不存在则插入指定的键值对并返回默认值。

# setdefault(key, default) 方法
my_dict = {'name': 'Alice', 'age': 25}
value = my_dict.setdefault('city', 'New York')
print(value)        # 输出: New York
print(my_dict)      # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York'}
value = my_dict.setdefault('age', 30)  
print(value)        # 输出: 25
print(my_dict)      # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York'}

更新字典update(other_dict)

使用另一个字典或可迭代对象的键值对更新字典。

# update(other_dict) 方法
my_dict = {'name': 'Alice', 'age': 25}
other_dict = {'city': 'New York', 'gender': 'female'}
my_dict.update(other_dict)
print(my_dict)      # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York', 'gender': 'female'}

字典中键值对的数量len()

返回字典中键值对的数量。

# len() 方法
my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
length = len(my_dict)
print(length)       # 输出: 3

三、遍历字典

可以使用 for 循环遍历字典的键、值或者键值对。

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}

 # 遍历键
for key in my_dict:
    print(key)

 # 遍历键
for key in my_dict.keys():
    print(key)
    
 # 遍历值
for value in my_dict.values():
    print(value)

 # 遍历键值对
for key, value in my_dict.items():
    print(key, value)
  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈年小趴菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值