前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python字典构造函数formkeys()与dict()

Python字典构造函数formkeys()与dict()

原创
作者头像
python自学网
发布2021-12-02 14:52:50
4550
发布2021-12-02 14:52:50
举报

Python中的字典在其他语言中有不同的称呼,比如JS中叫做对象,PHP中叫做数组等等,各有各的称呼,但是个人觉得字典这个名称比较合适,字典反映了这种数据类型的特性,表示通过某个值去查找另一个值。python中的字典就是通过一个键查找一个值,在后面的数据库的表对象查找的时候也是使用类似的方法,JSON数据的查找也是类似方法......


字典的作用:

1. 通过有意义的键查找目标数据;

2. 查询效率会提高,类似于汉语字典


字典是一种无序且可变的键值对集合,也是数据类型的一种,字典中的键和值是一一对应的映射关系。本章节的字典学习是十分重要的,对于后面很多知识的学习都有帮助,下面我们就来看看字典的构造方法

字典的构造方法:

1.直接创建一个键值对数据集合——字典

代码语言:python
代码运行次数:0
复制
dict1 = {'name': 'Tom', 'age': 18, 'love': 'python'}
print(dict1, type(dict1))

返回结果:

代码语言:python
代码运行次数:0
复制
{'name': 'Tom', 'age': 18, 'love': 'python'}
<class 'dict'>

# 注意:字典中的键不能重复

代码语言:python
代码运行次数:0
复制
dict1 = {'name': 'Tom', 'age': 18, 'name': 'python'}
print(dict1)

返回结果:

代码语言:python
代码运行次数:0
复制
{'name': 'python', 'age': 18}

# 注意:字典中的键只能是不可变数据类型

代码语言:python
代码运行次数:0
复制
dict1 = {(1, 2, 3): 'Tom', 'age': 18, 'name': 'python'}
print(dict1)
dict1 = {[1, 2, 3]: 'Tom', 'age': 18, 'name': 'python'}
print(dict1)

返回结果:

代码语言:python
代码运行次数:0
复制
{(1, 2, 3): 'Tom', 'age': 18, 'name': 'python'}
TypeError: unhashable type: 'list'

2.使用formkeys()创建字典

代码语言:python
代码运行次数:0
复制
dict2 = dict.fromkeys('python', 'JavaScript') 
 # 第一个参数是可迭代数据,第二个是值,不写为None
print(dict2)

返回结果:

代码语言:python
代码运行次数:0
复制
{'p': 'JavaScript', 'y': 'JavaScript', 't': 'JavaScript', 'h': 'JavaScript', 'o': 'JavaScript', 'n': 'JavaScript'}

3.dict()创建字典

代码语言:python
代码运行次数:0
复制
# 3.dict()
# a = dict(str1=value1, str2=value2, str3=value3)
# 方式1
demo1 = [('name', 'Tom'), ('age', 18), ('sex', '男')]
# 方式2
demo2 = [['name', 'Tom'], ['age', 18], ['sex', '男']]
# 方式3
demo3 = (('name', 'Tom'), ('age', 18), ('sex', '男'))
# 方式4
demo4 = (['name', 'Tom'], ['age', 18], ['sex', '男'])
a1 = dict(demo1)
a2 = dict(demo2)
a3 = dict(demo3)
a4 = dict(demo4)
keys = ['one', 'two', 'three']
values = [1, 2, 3]
a = dict(zip(keys, values))

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 字典的构造方法:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档