博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初学Python——字典
阅读量:7155 次
发布时间:2019-06-29

本文共 1717 字,大约阅读时间需要 5 分钟。

一、定义

什么是字典?

字典是一种数据类型,是一系列数据的组合。

每一个数据单元都分为key和value,key也称主键,具有唯一性,不可重复。value可以理解成是key对应的值。

1 info={2              1:"wo shi shei",3              2:"sun wu kong",4  "stu001":"alex",5  "stu002":"zhangyang",6 7 }

如上,key可以是int型,也可以是字符型,value亦是。

二、字典数据的增删改查

1、查询(只能通过key来查询)

1 print(info["stu001"])

查询此键值对应的数据

2、修改数据

info[1]="cbad"               #如果key值存在,则修改数据info["stu005"]="qwe"    #如果key值不存在,则创建数据

3.增添数据

用setdefault()方法,括号内第一个值为key,第二个是value

info.setdefault("stu001","ALEX")      #如果键值存在,不做修改info.setdefault("stu006","dawang")  #如果键值不存在,创建数据
info["stu005"]="qwe"    #如果key值不存在,则创建数据(不推荐此种添加数据的方法,不安全)

4.删除数据

必须写键值,只能用键值。

del info["stu005"]info.pop("stu005")

三、其它的知识点

1.获取key是否存在的安全方法:

①get()方法

print(info.get("stu001"))

②大众方法

print("stu2001" in info)

不止字典,列表、集合都能用此方法。

2.将所有Key和value的值打印出来

keys()方法和values()方法

print(info.values()) #将所有value的值打印出来print(info.keys())    #打印所有key的值

3.合并字典

update()方法

info.update(b)  #将两个字典合并,如果有相同的key,其value被覆盖成字典b的值

4.将字典转化成列表输出

print(info.items()) #将一个字典转化成一个列表,每个元素都是一个元组(仅本行有效,字典本身并不改变)

字典本身并没有改变

5.字典反转(将原来的kye和value互换)

1 alphabet = {2     "a":0,"b":1,"c":2,"d":3,"e":4,"f":5,"g":6,"h":7,"i":8,"j":9,"k":10,"l":11,"m":12,3     "n":13,"o":14,"p":15,"q":16,"r":17,"s":18,"t":19,"u":20,"v":21,"w":22,"x":23,"y":24,"z":25,4 } # 原字典5 dict_new = {value:key for key,value in alphabet.items()} # 将字典反转 key和value互换6 print(dict_new)7 print(alphabet)

原字典alphabet不改变

四、嵌套字典及其循环

1.字典循环

for i in info:    print(i,info[i])

当中,i是key,info[i]是对应的value

2.嵌套字典

part={    "新疆":{        "北疆":“a”        "南疆":“b”    },    "河北":{        "石家庄":"c"               "保定":"d"},    "湖南":{        "长沙市":"e"                "株洲市":"f"    },}

3.嵌套字典的循环

for i in part:    print(i)    for j in part[i]:        print(j)

转载地址:http://miogl.baihongyu.com/

你可能感兴趣的文章
ObjectContext,DataContext和DBContext 分别获取linq 的sql方法
查看>>
加密算法
查看>>
mysql学习笔记--数据库多表查询
查看>>
wp下如何禁止分类列表列出某个分类
查看>>
删除最近项目
查看>>
How to enable LDAP over SSL with a third-party certification authority
查看>>
[NOIP2010] 提高组 洛谷P1525 关押罪犯
查看>>
CSS的优先级
查看>>
2.编程语言,格式化输出,与用户交互
查看>>
hashlib加密
查看>>
又见拦截导弹
查看>>
三十五、MySQL 运算符
查看>>
SQL注入绕过某waf的详细过程。
查看>>
CF978A Remove Duplicates【数组操作/STL】
查看>>
TCP中需要了解的东西
查看>>
关于正则表达式-转载
查看>>
AC3 overview
查看>>
schroeder reverb matlab实现
查看>>
nandflash的读写(2440)
查看>>
复习mysql
查看>>