Python中字典dict详解

Python中字典dict详解

一、字典(dict)概念

字典是另一种可变容器模型,且可存储任意类型对象如字符串、数字、元组等其他容器模型,因为字典是无序的所以不支持索引和切片。

二、字典(dict)的定义

一般格式:

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示

d = {key1 : value1, key2 : value2, key3 : value3 }

例子

dict_data = {'name': '王华', 'age': 23, 'sex': '男', '班级': '计算机一班'}

结果如下:

{'name': '王华', 'age': 23, 'sex': '男', '班级': '计算机一班'}

注意:dict 作为Python的关键字和内置函数,变量名不建议命名为 dict 。

空字典:

格式:字典名={ } 或者 字典名= dict{ }

# 使用大括号{}来创建空字典

dict_data = {}

# 打印字典

print(dict_data)

# 查看字典类型

print(type(dict_data))

以上代码输出结果为:

{}

<class 'dict'>

注意:
在使用 dict() 创建字典时,在小括号 () 内要以 key=value 的形式编写。

  • key不可以重复,否则只会保留第一个;

  • value值可以重复;

  • key可以是任意的数据类型,但不能出现可变的数据类型,保证key唯一;

  • key一般形式为字符串。

三、字典的特性

dict()是Python内置的一个数据类型,也被称为字典或映射,它是一个无序的键值对集合。每个键(key)必须是唯一的,而值(value)可以是任意的Python对象。下面是dict()的一些主要特性:

1.键值对集合

一个dict()是由一系列键值对组成的无序集合,其中每个键对应一个唯一的值。下面是一个简单的例子:

# 创建一个字典

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
print(my_dict)     

# 打印结果如下

{'apple': 2, 'banana': 3, 'orange': 4}

2.可变性

dict()是可变的对象,这意味着可以添加、删除或修改它的键值对。下面是一个例子:

# 修改字典中的值

my_dict['apple'] = 5

# 打印结果如下

{'apple': 5, 'banana': 3, 'orange': 4}

3.键的唯一性

dict()中的每个键必须是唯一的。如果试图将一个已经存在的键再次添加到dict()中,将会覆盖该键对应的原值。下面是一个例子:

# 添加一个新的键值对

my_dict['pear'] = 1

# 尝试将一个已经存在的键再次添加到字典中

my_dict['apple'] = 6

# 打印结果如下

{'apple': 6, 'banana': 3, 'orange': 4, 'pear': 1}

4.值的任意性

dict()中的值可以是任意Python对象,包括其他的dict()、列表、元组、数字、字符串等。下面是一个例子:

# 字典中的值可以是列表

my_dict['fruits'] = ['apple', 'banana', 'orange']

# 字典中的值可以是字典

my_dict['colors'] = {'apple': 'red', 'banana': 'yellow', 'orange': 'orange'}


# 输出结果如下

'fruits': ['apple', 'banana', 'orange'],
'colors': {'apple': 'red', 'banana': 'yellow', 'orange': 'orange'}}

5.字典的长度

len()函数可以用于获取字典中键值对的数量。下面是一个例子:

# 获取字典中键值对的数量

print(len(my_dict))


# 输出结果如下

6

6.键的类型

键可以是任意可哈希(hashable)的对象,例如数字、字符串、元组等。不过,列表和字典这样的可变对象是不能作为键的。下面是一个例子:

# 使用元组作为键

my_dict[('apple', 'red')] = 2

# 尝试使用列表作为键

# my_dict[['apple', 'red']] = 2  # 会报错

7.字典的迭代

可以使用for循环迭代字典的键、值或键值对。下面是一个例子:

# 迭代字典的键

for key in my_dict:
    print(key)

# 迭代字典的值

for value in my_dict.values():
    print(value)

# 迭代字典的键值对

for key, value in

四、字典的内置函数

Python中的字典(dict())有一些内置的函数可以用于操作和处理字典:

1.len():

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

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
length = len(my_dict)

print(length)  # 输出:3

2.keys():

返回字典中所有的键。

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
keys = my_dict.keys()

print(keys)  # 输出:dict_keys(['apple', 'banana', 'orange'])

3.values():

返回字典中所有的值

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
values = my_dict.values()

print(values)  # 输出:dict_values([2, 3, 4])

4.items():

返回字典中所有的键值对。

# 此方法也是字典转列表

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
items = my_dict.items()

print(items)  # 输出:dict_items([('apple', 2), ('banana', 3), ('orange', 4)])

5.clear():

清空字典中所有的键值对。

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
my_dict.clear()

print(my_dict)  # 输出:{}

6.copy():

返回字典的浅拷贝(只拷贝顶层对象)。

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
new_dict = my_dict.copy()

print(new_dict)  # 输出:{'apple': 2, 'banana': 3, 'orange': 4}

7.pop(key[, default]):

删除并返回字典中指定键的值,如果键不存在,返回指定的默认值(默认为None)。

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
value = my_dict.pop('apple')

print(value)  # 输出:2
print(my_dict)  # 输出:{'banana': 3, 'orange': 4}

value = my_dict.pop('pear', 0)
print(value)  # 输出:0

8.popitem():

随机删除并返回字典中的一个键值对。

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
item = my_dict.popitem()

print(item)  # 输出:('orange', 4)
print(my_dict)  # 输出:{'apple': 2, 'banana': 3}

9.update(other_dict):

用另一个字典中的键值对更新当前字典,如果存在相同的键,则覆盖当前字典中的值。

# 语法

my_dict.update(other_dict)

# 示例

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
new_dict = {'pear': 1, 'banana': 5}

my_dict.update(new_dict)
print(my_dict)  # 输出:{'apple': 2, 'banana': 5, 'orange': 4, 'pear': 1}

10.删除字典del

可以使用 **del **关键字删除一个字典或字典中的键值对。

# 删除整个字典,只需使用 del 加上字典的名称

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
del my_dict  # 删除整个字典


# 删除字典中的某个键值对,需要使用 del 加上字典中需要删除的键

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
del my_dict['banana']  # 删除键为 'banana' 的键值对

注意:需要注意的是,del 关键字删除的是变量本身,而不是其指向的对象。因此,如果有其他变量也指向同一个字典对象,那么删除其中一个变量后,其他变量仍然可以访问该字典对象
例如:

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
other_dict = my_dict
del my_dict  # 删除 my_dict 变量
print(other_dict)  # 输出:{'apple': 2, 'banana': 3, 'orange': 4}

11.str():

str() 函数将字典对象转换成一个字符串,字符串的格式为 {key1: value1, key2: value2, …}

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
my_str = str(my_dict)
print(my_str)  # 输出:{'apple': 2, 'banana': 3, 'orange': 4}

举例:列表(list)转字典(dict)

my_list = [('apple', 2), ('banana', 3), ('orange', 4)]
my_dict = dict(my_list)
print(my_dict)  # 输出:{'apple': 2, 'banana': 3, 'orange': 4}

五、字典的三种取值方式

在Python中,字典(dict())有三种取值方式:

my_list = [('apple', 2), ('banana', 3), ('orange', 4)]
my_dict = dict(my_list)
print(my_dict)  # 输出:{'apple': 2, 'banana': 3, 'orange': 4}

1.通过键获取值

可以通过字典的键获取对应的值,用法如下:

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
value = my_dict['apple']

print(value)  # 输出:2

2.使用get()方法获取值

也可以使用get()方法获取字典中对应键的值,如果键不存在,返回指定的默认值(默认为None),用法如下:

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
value = my_dict.get('apple')
print(value)  # 输出:2

value = my_dict.get('pear', 0)
print(value)  # 输出:0

3.遍历字典获取键和值

可以遍历字典获取每个键和对应的值,用法如下:

my_dict = {'apple': 2, 'banana': 3, 'orange': 4}
for key, value in my_dict.items():
    print(key, value)

# 输出:

# apple 2

# banana 3

# orange 4

《AUTOSAR谱系分解(ETAS工具链)》之总目录

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值