首页 > 其他分享 >字典dict

字典dict

时间:2024-07-26 10:20:57浏览次数:6  
标签:name dict key print my 字典

Python中的dict(字典)是一种非常灵活且强大的数据结构,用于存储键值对(key-value pairs)

创建字典 dict

my_dict = {'name':'Tom','age':18,'city':'Shang Hai'}
print(my_dict)
# 输出 {'name': 'Tom', 'age': 18, 'city': 'Shang Hai'}

访问字典

print(my_dict['name'])
# 输出 Tom

添加元素

my_dict['card_num'] = '42829929919192901290'
print(my_dict)
# 输出 {'name': 'Tom', 'age': 18, 'city': 'Shang Hai', 'card_num': '42829929919192901290'}

修改元素

my_dict['age'] = 88
print(my_dict)
# 输出 {'name': 'Tom', 'age': 88, 'city': 'Shang Hai', 'card_num': '42829929919192901290'}

删除元素 - del指定key

del my_dict['name']
print(my_dict)
# 输出 {'age': 88, 'city': 'Shang Hai', 'card_num': '42829929919192901290'}

删除元素 - pop 返回被删除的值

del_ele = my_dict.pop('age')
print(del_ele)
# 输出 88
print(my_dict)
# 输出 {'city': 'Shang Hai', 'card_num': '42829929919192901290'}

删除整个字典

# del my_dict
my_dict.clear()

获取最后一对键值对 popitem() Python 3.7+版本以上可以

my_dict = {'name':'Tom','age':18,'city':'Shang Hai'}
last_item = my_dict.popitem()
print(last_item)
# 输出 ('city', 'Shang Hai')
print(my_dict)
# 输出{'name': 'Tom', 'age': 18}
# 总结: 通过popitem()获取最后一对键值对,返回的对象为元组
#       原字典会自动去掉最后一对键值对

检查键是否存在

if 'name' in my_dict:
    print(True)
else:
    print(False)

遍历字典

遍历所有的key

for key in my_dict:  # 或者 for key in my_dict.keys()
    print(key)
# 输出: name  age  

遍历所有的value

for value in my_dict.values():
    print(value)
# 输出 Tom  18

遍历键值对

for key, value in my_dict.items():
    print('key:',key,'value:',value)
# 输出: key: name value: Tom
#       key: age value: 18

遍历键和索引(Python3.7+保持插入顺序,之前版本字典是无序的)

for index, key in enumerate(my_dict):
    print(index,key)
# 输出:
# 0 name
# 1 age
for index, (key,value) in enumerate(my_dict.items()):
    print(index,key,value)
# 输出
# 0 name Tom
# 1 age 18

字典推导式

my_dict = {x: x**3 for x in range(6)}
print(my_dict)
# 输出:{0: 0, 1: 1, 2: 8, 3: 27, 4: 64, 5: 125}

字典扩展与注意点


 1. 键的唯一性
    字典中的键必须是唯一的,但值可以重复。
 2. 键的类型
    键可以是任何不可变类型,如字符串、数字或元组,但不能是列表或字典等可变类型。
 3.键的排序
    Python 3.7+ 的字典保持了插入顺序,但在之前的版本中,字典是无序的。如果你需要有序字典,可以使用collections.OrderedDict。
 4.默认值
    使用get()方法访问字典时,可以提供一个默认值,当键不存在时返回该默认值,而不是抛出KeyError。
 5.可变性和哈希性
    由于字典的键必须是不可变的,因此你不能使用列表或字典作为键。此外,所有用作字典键的对象都必须是可哈希的(即它们的哈希值在对象的生命周期内不会改变)。
 6.内存和性能
    虽然字典提供了快速的查找、插入和删除操作(平均时间复杂度为O(1)),但它们可能会消耗更多的内存,特别是在存储大量小对象时。

标签:name,dict,key,print,my,字典
From: https://www.cnblogs.com/bengguo/p/18324750

相关文章

  • Python保存字典类型数据到文件的三种方法
    1、在Python中使用pickle模块的dump函数将字典保存到文件中importpicklemy_dict={'Apple':4,'Banana':2,'Orange':6,'Grapes':11}#保存文件withopen("myDictionary.pkl","wb")astf:pickle.dump(my_dict,tf)......
  • defaultdict 的嵌套 defaultdict
    有没有办法使defaultdict也成为defaultdict的默认值?(即无限级递归defaultdict?)我希望能够做到:x=defaultdict(...stuff...)x[0][1][0]{}所以,我可以做x=defaultdict(defaultdict),但这只是第二级:x[0]{}x[0][0]KeyError:0有一些食谱可以做到这......
  • 我心中的王者:Python-第9章 字典(Dict)
    我心中的王者:Python-第9章字典(Dict)列表(list)与元组(tuple)是依序排列可称是序列数据结构,只要知道元素的特定位置,即可使用索引观念取得元素内容。这一章的重点是介绍字典(dict),它并不是依序排列的数据结构,通常可称是非序列数据结构,所以无法使用类似列表的数值(0,1,…......
  • Python的字典和集合
    一、字典1.定义字典字典和列表虽然类似,但是字典是无序的可变序列,并且可以像查字典一样去查找。字典的元素都是成对出现的,每个元素都是由冒号“:”和键值对(“:”左边的称为键或者Key,“:”右边的称为值或者Value)构成的,用“{}”标识,元素之间用逗号“‘,”分隔。字典的键必须是唯一......
  • Go Lang使用bcrypt对用户数据加密,避免字典攻击
    Go语言提供了一种较为安全的加密方式,使用GoLanggolang.org/x/crypto/bcrypt模块,通过该模块可以快速实现密码的存储处理,每次运行,计算的密码值都不同。因此使用GoLanggolang.org/x/crypto/bcrypt模块对密码进行处理,可以避免字典攻击。1.命令行下安装bcrypt包:gogetgolang......
  • 在Python中字典是如何通过哈希表实现的以及哈希冲突是如何解决的
    哈希表(散列表)的工作原理哈希表是一种使用哈希函数组织数据,以支持快速插入和搜索的数据结构。它通过哈希函数将输入的键(key)映射到表中的一个位置(即索引或槽位),从而以接近常数时间复杂度进行查找、插入和删除操作。哈希表的基本工作流程如下:哈希函数:哈希函数接受一个输入(键),并......
  • 六、【Python】基础教程-【Python全掌握】六大基础数据类型:浮点、布尔、列表、元组、
    ......
  • 非泛型类方法上的字典类型变量
    在以下代码中:fromtypingimportGenericfromtypingimportTypeVarfromtypingimportreveal_typeT=TypeVar('T')classField(Generic[T]):"""Afielddefinitionwithadefaultvalue."""def__init__(self,......
  • object dict cannot be used in await expression报错解释
    报错解释:这个错误通常出现在使用Python的异步编程模型时,尝试在一个不支持异步的对象上使用await关键字。在Python中,await关键字只能在异步函数中使用,而异步函数通常定义在asyncdef语句中。错误"objectdictcannotbeusedinawaitexpression"意味着你正尝试在一个普通的字典......
  • 具有固定字典键的 Python 函数返回类型提示
    我有一个函数返回一个始终具有相同键的字典(通过网络发送并使用json进行“字符串化”)。基本上我的函数看起来像这样:defgetTemps(self)->dict:"""getroomandcputemperaturein°Caswellashumidityin%"""#sendtemperaturerequesttoserve......