社区导航

 

搜索
查看: 232|回复: 1

[分享] python基础:字典之运用大全

[复制链接]

2026

TA的帖子

0

TA的资源

版主

Rank: 6Rank: 6

发表于 2020-3-24 23:04 | 显示全部楼层 |阅读模式

fromkeys是把所有的键值都赋值同样的内容(如果不指定内容则默认赋值为none) 不能通过fromkeys来修改原字典键值的内容,它是重新创建一个字典,并不会对原来字典的键值进行修改。

用法:fromkeys((键值),(初始化数据))没有初始化数据则默认为none

w = {}

ww = {}

print(w.fromkeys((1, 2, 3, 4, 5, 6)))

print(ww.fromkeys((1, 2, 3, 4 ,5 ,6),("林扬","余周周")))

print(ww.fromkeys((1, 2, 3), ("余淮","耿耿")))//企图修改ww字典键值为1,2,3的内容,由输出可以看出,它是创建了一个新的字典

输出:

keys()是返回键值(常和for循环联用)

a = {"林扬":"余周周", "盛淮南":"洛枳", "余淮":"耿耿"}

for eachkey in a.keys():

print(eachkey, end = " ")

林扬 盛淮南 余淮

Process finished with exit code 0

values()是返回键值的内容(常和for循环联用)

for eachvalues in a.values():

print(eachvalues, end = " ")

余周周 洛枳 耿耿

items()是把键值和内容一起返回(常和for循环联用)

for eachitem in a.items():

print(eachitem, end = " ")

('林扬', '余周周') ('盛淮南', '洛枳') ('余淮', '耿耿')

get()也是返回键值和内容,是按键值查找,如果get的内容是字典里有的,那就返回键值和内容;如果字典里没有默认返回键值内容为none,也可以自己定义内容

print(a.get("林扬"))

print(a.get("任逸帆"))

print(a.get("毕十三", "林洛雪"))

余周周

None

林洛雪

clear()是清空一个字典(给一个字典赋值也可以清空,但和clear区别很大:用一个字典给另一个字典赋值,如果对一个字典进行操作的话,那么另一个字典不受影响;但是如果给一个字典使用clear()清空的话,两个字典都会变成空。通过代码说明)

pop()是按键值弹出内容,popitem()是随机弹出

print(a.pop("林扬"))

print(a.popitem())

('余淮', '耿耿')

copy是拷贝内置函数,与用“=”赋值的不同:(拷贝赋值后,对原字典进行操作,另一个字典不受影响;如果是“=”赋值,对原字典进行操作,用原字典赋值的字典也会受影响)

b = {}

c = {}

b = a.copy()

c = a

a["毕十三"] = "林洛雪"

print(b)

print(c)

a.clear()

{'林扬': '余周周', '盛淮南': '洛枳', '余淮': '耿耿'}

{'林扬': '余周周', '盛淮南': '洛枳', '余淮': '耿耿', '毕十三': '林洛雪'}

{}

setdefault和get差不多,也是按照键值查找,但是如果setdefault所要查找的键值不存在时就会在字典里自动添加一个,内容默认为空

a.setdefault("路桥川")

print(a)

a.setdefault("毕十三", "林洛雪")

{'林扬': '余周周', '盛淮南': '洛枳', '余淮': '耿耿', '路桥川': None}

{'林扬': '余周周', '盛淮南': '洛枳', '余淮': '耿耿', '路桥川': None, '毕十三': '林洛雪'}

a.update(b)用b字典中键值内容去更新字典a中所对应的键值内容

b = {"林扬":"辛锐", "盛淮南":"焰灵姬"}

a.update(b)



回复

使用道具 举报

9960

TA的帖子

14

TA的资源

版主

Rank: 6Rank: 6

测评达人

发表于 2020-3-25 09:37 | 显示全部楼层

帖子中的代码需要用工具栏中的代码片段功能发,不然格式就乱了,对于python这样严格缩进的语言就没法用了。

 

image.png



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/6 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-3-29 22:48 , Processed in 0.109804 second(s), 18 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表