前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Python中字典dict

Python中字典dict

作者头像
py3study
发布于 2020-01-20 03:09:42
发布于 2020-01-20 03:09:42
86600
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行

dict字典

  • 字典是一种组合数据,没有顺序的组合数据,数据以键值对形式出现
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 字典的创建
# 创建空字典1
d = {}
print(d)

# 创建空字典2
d = dict()
print(d)

# 创建有值的字典, 每一组数据用冒号隔开, 每一对键值对用逗号隔开
d = {"one":1, "two":2, "three":3}
print(d)

# 用dict创建有内容字典1
d = dict({"one":1, "two":2, "three":3})
print(d)

# 用dict创建有内容字典2
# 利用关键字参数
d = dict(one=1, two=2, three=3)
print(d)


# 
d = dict( [("one",1), ("two",2), ("three",3)])
print(d)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{}
{}
{'one': 1, 'two': 2, 'three': 3}
{'one': 1, 'two': 2, 'three': 3}
{'one': 1, 'two': 2, 'three': 3}
{'one': 1, 'two': 2, 'three': 3}

字典的特征

  • 字典是序列类型,但是是无序序列,所以没有分片和索引
  • 字典中的数据每个都有键值对组成,即kv对
    • key: 必须是可哈希的值,比如int,string,float,tuple, 但是,list,set,dict 不行
    • value: 任何值

字典常见操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 访问数据
d = {"one":1, "two":2, "three":3}
# 注意访问格式
# 中括号内是键值
print(d["one"])


d["one"] = "eins"
print(d)

# 删除某个操作
# 使用del操作
del d["one"]
print(d)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1
{'one': 'eins', 'two': 2, 'three': 3}
{'two': 2, 'three': 3}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 成员检测, in, not in
# 成员检测检测的是key内容,键
d = {"one":1, "two":2, "three":3}

if 2 in d:
    print("value")
    
if "two" in d:
    print("key")
    
if ("two",2) in d:
    print("kv")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
key
可以看出,字典dict中的成员检测为键,因为它具有唯一性
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 便利在python2 和 3 中区别比较大,代码不通用
# 按key来使用for循环
d = {"one":1, "two":2, "three":3}
# 使用for循环,直接按key值访问
for k in d:
    print(k,  d[k])
    
# 上述代码可以改写成如下  提倡这么写
for k in d.keys():
    print(k,  d[k])
    
# 只访问字典的值
for v in d.values():
    print(v)
    
# 注意以下特殊用法
for k,v in d.items():
    print(k,'--',v)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
one 1
two 2
three 3
one 1
two 2
three 3
1
2
3
one -- 1
two -- 2
three -- 3
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 常规字典生成式
dd = {k:v for k,v in d.items()}
print(dd)


# 加限制条件的字典生成式 过滤文件
dd = {k:v for k,v in d.items() if v % 2 == 0}
print(dd)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{'one': 1, 'two': 2, 'three': 3}
{'two': 2}

字典相关函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 通用函数: len, max, min, dict
# str(字典): 返回字典的字符串格式
d = {"one":1, "two":2, "three":3}
print(d)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{'one': 1, 'two': 2, 'three': 3}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# clear: 清空字典
# items: 返回字典的键值对组成的元组格式

d = {"one":1, "two":2, "three":3}
i = d.items()
print(type(i))
print(i)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<class 'dict_items'>
dict_items([('one', 1), ('two', 2), ('three', 3)])
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# keys:返回字典的键组成的一个结构
k = d.keys()
print(type(k))
print(k)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<class 'dict_keys'>
dict_keys(['one', 'two', 'three'])
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# values: 同理,一个可迭代的结构
v = d.values()
print(type(v))
print(v)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<class 'dict_values'>
dict_values([1, 2, 3])
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# get: 根据制定键返回相应的值, 好处是,可以设置默认值

d = {"one":1, "two":2, "three":3}
print(d.get("on333"))

# get默认值是None,可以设置
print(d.get("one", 100))
print(d.get("one333", 100))

#体会以下代码跟上面代码的区别
print(d['on333'])
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
None
1
100
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-74-7a2a24f5a7b6> in <module>()
      9 
     10 #体会以下代码跟上面代码的区别
---> 11 print(d['on333'])

KeyError: 'on333'
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# fromkeys: 使用指定的序列作为键,使用一个值作为字典的所有的键的值
l = ["eins", "zwei", "drei"]
# 注意fromkeys两个参数的类型
# 注意fromkeys的调用主体
d = dict.fromkeys(l, "hahahahahah")
print(d)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{'eins': 'hahahahahah', 'zwei': 'hahahahahah', 'drei': 'hahahahahah'}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/04/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python的元祖,集合,字典的常见函数
# 关于元祖的函数 - 以下代码 - 以下函数,对 list 基本适用 关于元祖的函数¶ 以下代码 In [2]: # len :获取元祖的长度 t = (1,2,3,4,5,6) len(t)
py3study
2020/01/19
1.4K0
python 内置数据结构list、set、dict、tuple(三)
关于元组的函数 以下看代码 以下函数,对list基本适用 # len:获取元组的长度 t = (1,2,3,4,5) len(t) 5 # max,min:最大最小值 print(max(t)) print(min(t)) 5 1 # tuple:转化或创建元组 l = (1,2,3,4,5) t = tuple(l) print(t) t = tuple() print(t) (1, 2, 3, 4, 5) () 元组的函数 基本跟list通用 # count:计算指定数据出现的次数 t = (2,1,
ruochen
2021/02/25
8850
python 内置数据结构list、set、dict、tuple(三)
Python字典方法
2、copy 方法copy返回一个新字典,其包含的键值对与原来的字典相同(这各方法是浅复制,因为值本身是原件,而非副本)
王大力测试进阶之路
2022/06/07
3700
python3之dict字典
## d.setdefault( x, [ , y ] )  返回字典 d 中键 x 对应的值,若键 x 不存在,则返回y, 并将 x : y 作为键值对添加到字典中,y 的默认值为 None
py3study
2020/01/03
6100
python基础教程:dict(字典)
字典(dict, dictionary的简写)是Python中另一个非常重要的内置数据类型,是Python中映射类型(Mapping Type),它把“键”(key)映射到“值”(value),通过key可以快速找到value,它是一种“键值对”(key-value)数据结构。
一墨编程学习
2019/05/15
2K0
【Python】11、python内置数
dict.keys()、dict.value()、dict.items()返回的都类似生成器;它并不会复制一份内存
py3study
2020/01/15
1.3K0
11个Python3字典内置方法大全及示例
字典有着类似列表的高灵活度的特点,而与列表通过偏移索引的存取元素的方式不同,字典是通过无序的键来存取键值对的,即字典是任意对象的无需集合,可在原处增加或减少,且支持任意深度的嵌套(即可以包含诸如列表,其他的字典等),下面就介绍了Python提供的11个字典内置方法的基本概述及简单示例。
一墨编程学习
2019/05/17
7170
python基础类型(二):字典与元组
python中的字典是由键值对组成,每一个键在字典中都是唯一的,值可以是任意类型的对象,但是键必须是不可遍的对象类型(如:字符串、数字、元组等)。
渔父歌
2018/12/06
7440
python学习_18
字典 字典是无序的 字典的key只能是不可变对象,不能是list dict 创建字典 创建空字典,并赋值
py3study
2020/01/15
4320
python基础—dict
d = dict(((1,‘a’),(2,‘b’))) d {1: ‘a’, 2: ‘b’}
dogfei
2020/07/31
4870
Python: dict字典的方法介绍
文章背景: 字典(dict)是Python中一个重要的数据类型。下面打算对dict的内置方法进行介绍。
Exploring
2022/09/20
9790
Python:  dict字典的方法介绍
Python中的字典学习笔记
key表示数据的含义,value表示对应的数据的值 字典是一种可变的数据类型,从python3.7开始,字典是有序的。
小博测试成长之路
2023/09/01
1800
Python中的字典学习笔记
Python字典使用(八)
字典的每个键值(key=>value)对用冒号分隔,每对之间用逗号分割,整个字典包括花括号在内,如下所示:
py3study
2020/01/10
7770
Python基本数据类型-list-tuple-dict-set
输出结果:0 1 2 3 4 5 6 7 [0, 1, 3, 4, 5, 6, 7]
职场亮哥
2020/10/10
9010
Python基本数据类型-list-tuple-dict-set
python的字典学习(六)
本博客主要说明python的字典基本的使用,在python中,字典使用的关键字是dict,使用的是{},下面我们通过一个具体的代码来看python字典类对象的功能和字典的帮助的详细信息,见实现的代码:
无涯WuYa
2018/10/25
1.3K0
python字典详解
字典是Python中唯一的內建的映射类型,可以存储任意对象的容器,比如:字符串,列表,元组,自定义对象等;字典由键(key)与值(value)组成,基本语法如下:
py3study
2020/01/06
7660
Python内置数据结构3
集合不能修改单个元素,不能通过索引查找,集合没有访问单个元素的方法,集合元素没有顺序,元素必须课hash
py3study
2020/01/03
2920
【python】字典超详解
不能直接修改键, 本质是哈希表,键不能重复! 值可以是python支持的任何对象
20岁爱吃必胜客
2023/02/26
2520
Python中dict详解
#字典的添加、删除、修改操作 dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"} dict["w"] = "watermelon" del(dict["a"]) dict["g"] = "grapefruit" print dict.pop("b") print dict dict.clear() print dict #字典的遍历 dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"} for k in dict:     print "dict[%s] =" % k,dict[k] #字典items()的使用 dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"} #每个元素是一个key和value组成的元组,以列表的方式输出 print dict.items() #调用items()实现字典的遍历 dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"} for (k, v) in dict.items():     print "dict[%s] =" % k, v #调用iteritems()实现字典的遍历 dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"} print dict.iteritems() for k, v in dict.iteritems():     print "dict[%s] =" % k, v for (k, v) in zip(dict.iterkeys(), dict.itervalues()):     print "dict[%s] =" % k, v #使用列表、字典作为字典的值 dict = {"a" : ("apple",), "bo" : {"b" : "banana", "o" : "orange"}, "g" : ["grape","grapefruit"]} print dict["a"] print dict["a"][0] print dict["bo"] print dict["bo"]["o"] print dict["g"] print dict["g"][1] dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"} #输出key的列表 print dict.keys() #输出value的列表 print dict.values() #每个元素是一个key和value组成的元组,以列表的方式输出 print dict.items() dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"} it = dict.iteritems() print it #字典中元素的获取方法 dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"} print dict print dict.get("c", "apple")          print dict.get("e", "apple") #get()的等价语句 D = {"key1" : "value1", "key2" : "value2"} if "key1" in D:     print D["key1"] else:     print "None" #字典的更新 dict = {"a" : "apple", "b" : "banana"} print dict dict2 = {"c" : "grape", "d" : "orange"} dict.update(dict2) print dict #udpate()的等价语句 D = {"key1" : "value1", "key2" : "value2"} E = {"key3" : "value3", "key4" : "value4"} for k in E:     D[k] = E[k] print D #字典E中含有字典D中的key D = {"key1" : "value1", "key2" : "value2"} E = {"key2" : "value3", "key4" : "value4"} for k in E:     D[k] = E[k]
bear_fish
2018/09/20
8620
Python内置数据结构之字典(完整版)
今天主要讲解上次未完成的内置数据结构-字典。小白这几天比较忙,忙的忘记了健身及写作,特发此文以作补偿。 Python字典简介 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 这种key-value存储方式,在放进去的时候,必须根据key算出value的存放位置,这样,取的时候才能根据key直接拿到value。 请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。 和list比较,di
1846122963
2018/03/09
8740
相关推荐
python的元祖,集合,字典的常见函数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文