Python字典提取_python字典键对应的值

Python字典提取_python字典键对应的值python字典操作提取key,valuedictionaryName[key]=value1.为字典增加一项2.访问字典中的值3、删除字典中的一项4、遍历字典5、字典遍历的key\value6、字典的标准操作符7、判断一个键是否在字典中8、python中其他的一些字典方法9、将两个字典合并a={‘a’:1,…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

python 字典操作提取key,value dictionaryName[key] = value

欢迎加入Python快速进阶QQ群:867300100

1.为字典增加一项
这里写图片描述
2.访问字典中的值
这里写图片描述
3、删除字典中的一项
这里写图片描述
4、遍历字典
这里写图片描述
5、字典遍历的key\value
这里写图片描述
6、字典的标准操作符
这里写图片描述
7、判断一个键是否在字典中
这里写图片描述
8、python中其他的一些字典方法
这里写图片描述
这里写图片描述
**9、将两个字典合并 **

a={'a':1,'b':2,'c':3}
b= {'aa':11,'bb':22,'cc':33}
#方法一
print(dict(a,**b))
#方法二 这其实就是在内存中创建两个列表,再创建第三个列表,拷贝完成后,创建新的dict,删除掉前三个列表。这个方法耗费性能,而且对于python3,这个无法成功执行,因为items()返回是个对象。
print(dict(list(a.items())+list(b.items())))
#方法三
c={}
c.update(a)
c.update(b)
print(c)
#方法四  python 3.5支持,可以存在重复键值,比如说:a={'a':1,'b':2,'c':3,'aa':12}会报错TypeError: print() got multiple values for keyword argument 'aa'
print(**a,**b)

他们的输出结果都是:
{'bb': 22, 'cc': 33, 'aa': 11, 'a': 1, 'b': 2, 'c': 3}

注意如果存在相同键值,比如说:
a={'a':1,'b':2,'c':3,'aa':12} b= {'aa':11,'bb':22,'cc':33}
那么方法一\二\三得到结果为

{'cc': 33, 'a': 1, 'bb': 22, 'c': 3, 'b': 2, 'aa': 11}

而方法四则会报错:

TypeError: print() got multiple values for keyword argument ‘aa’
**10、key和value互换 **
方法一:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

dict_ori = {'A':1, 'B':2, 'C':3}
dict_new = {value:key for key,value in dict_ori.items()}
print(dict_new)

{1: ‘A’, 2: ‘B’, 3: ‘C’}

方法二:
使用zip方法

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

dict_ori = {'A':1, 'B':2, 'C':3}
dict_new2= dict(zip(dict_ori.values(), dict_ori.keys()))
print(dict_new2)

{1: ‘A’, 2: ‘B’, 3: ‘C’}

**10、字典多键值及重复键值的使用方法(详解) **
方案一

#encoding=utf-8
print ('中国')
#字典的一键多值
print('方案一 list作为dict的值 值允许重复'  )

d1={}
key=1
value=2
d1.setdefault(key,[]).append(value)
value=2
d1.setdefault(key,[]).append(value)
print (d1)
#获取值
print ('方案一 获取值')
print (list(d1[key])  )
print( '方案一 删除值,会留下一个空列表' )
d1[key].remove(value)
d1[key].remove(value)
print (d1  )
print ('方案一 检查是否还有一个值' )
print (d1.get(key,[]) )

方案一输出结果

中国
方案一 list作为dict的值 值允许重复
{1: [2, 2]}
方案一 获取值
[2, 2]
方案一 删除值,会留下一个空列表
{1: []}
方案一 检查是否还有一个值
[]

方案二

print ('方案二 使用子字典作为dict的值 值不允许重复')
d1={}
key=1
keyin=2
value=11
d1.setdefault(key,{})[keyin]=value
keyin=2
value=22
d1.setdefault(key,{})[keyin]=value
keyin=3
value=33
d1.setdefault(key,{})[keyin]=value
print (d1 )
print ('方案二 获取值' )
print (list(d1[key]) )
print ('方案二 删除值,会留下一个空列表' )
del d1[key][keyin]
keyin=2
del d1[key][keyin]
print (d1)
print ('方案二 检查是否还有一个值')
print (d1.get(key,()) )


方案二输出结果

方案二 使用子字典作为dict的值 值不允许重复
{1: {2: 22, 3: 33}}
方案二 获取值
[```2, 3]
方案二 删除值,会留下一个空列表
{1: {}}
方案二 检查是否还有一个值
{}

方案三

print ('方案三 使用set作为dict的值 值不允许重复')
d1={}

key=1
value=2
d1.setdefault(key,set()).add(value)
value=2
d1.setdefault(key,set()).add(value)
value=3
d1.setdefault(key,set()).add(value)
print ('方案三 获取值' )
print (list(d1[key]) )
print ('方案三 删除值,会留下一个空列表')
d1[key].remove(value)
value=2
d1[key].remove(value)
print (d1 )
print ('方案三 检查是否还有一个值' )
print (d1.get(key,()) )

输出结果:

方案三 使用set作为dict的值 值不允许重复
{1: {2, 3}}
方案三 获取值
[2, 3]
方案三 删除值,会留下一个空列表
{1: set()}
方案三 检查是否还有一个值
set()

相关应用直通车:
自然语言处理:直通车
Nosql-mongodb:直通车

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180054.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 单周期CPU中的指令周期就是一个时钟周期_指令周期和时钟周期的关系

    单周期CPU中的指令周期就是一个时钟周期_指令周期和时钟周期的关系指令周期: CPU每取出并执行一条指令所需的全部时间叫指令周期,也即CPU完成一条指令的时间叫指令周期一般一条完整的指令包括:取指周期、间址周期、执行周期、中断周期。JMPX:该指令的指令周期只有取指周期。ADDX:该指令只有取指周期、执行周期。一个指令周期包含的机器周期个数亦与指令所要求的动作有关,如单操作数指令,只需要一个取操作数周期,而双操作数指令需要两个取操作数周期。实…

    2022年10月13日
    2
  • java的输入和输出语句_c++输入输出语句

    java的输入和输出语句_c++输入输出语句输入语句:psvm输出语句:sout

    2022年9月2日
    5
  • unityshader教程_unity炫酷的shader

    unityshader教程_unity炫酷的shader参考链接:http://www.xiaobao1993.com/373.html去色shader:Shader”Custom/Gray”{ Properties { _MainTex(“Base(RGB)”,2D)=”white”{} }SubShader{Pass{C

    2022年10月5日
    2
  • mysql opkg源_如何修改opkg源

    mysql opkg源_如何修改opkg源修改opkg源vimopkg.conf##对应路径替换为如下:src/gzopenwrt_corehttp://mirrors.ustc.edu.cn/lede/releases/18.06.4/targets/x86/64/packagessrc/gzopenwrt_basehttp://mirrors.ustc.edu.cn/lede/releases/18.06.4/packag…

    2022年6月9日
    54
  • oracle手动创建数据库_oracle怎么建库

    oracle手动创建数据库_oracle怎么建库ORACLE手动建库ORACLE10GR2手动建库大致分为以下几个步骤编辑.bash_profile文件,设置环境变量创建所需目录结构创建初始化参数文件执行建库脚本下面以创建test数据库为例1、编辑.bash_profile文件,添加ORACLE_SID环境变量在.bash_profile文件中指定ORACLE_SIDexportORACLE_SID=test[oracle@targets…

    2025年7月14日
    3
  • 电视处理器a53和a55哪个厉害(cortexa55处理器好吗)

    小编语:手机处理器从32位向64位的迁移过程中,功耗增加以及给手机厂商带来的散热成为一个很大的问题。目前Cortex-A57已经是64位手机处理器芯片的主流内核,它的功耗不降下来,更多手机功能的开发可能受限于系统总功耗而无法实现,ARM这次推出的Cortex-A35显然在这方面下了不少功夫,究竟能给手机厂商带来多少实惠,还要等终端产品推出后才见分晓……64位元处理器应用版图…

    2022年4月13日
    750

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号