python教程:字典函数/操作

一、字典操作

1.往字典中添加键值对

dict["key"] = "value"

stu = {"name":"zhangsan","age":"18"}
stu["sex"] = "boy"
print (stu)

setdefault() 有返回值

stu = {"name":"zhangsan","age":"18"}
stu.setdefault("sex")
print (stu)    #结果 {'age': '18', 'name': 'zhangsan', 'sex': None}

stu = {"name":"zhangsan","age":"18"}
stu.setdefault("sex","boy")
print (stu)  #结果 {'age': '18', 'name': 'zhangsan', 'sex': 'boy'}

添加的键存在时

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
stu = {"name":"zhangsan","age":"18"}
ret = stu.setdefault("age","20")
print(ret)
print(stu)

---> 18    #setdefault 返回值为改键已存在的值
---> {'age': '18', 'name': 'zhangsan'}    #键中的值不会被修改

添加的键不存在时

stu = {"name":"zhangsan","age":"18"}
ret = stu.setdefault("sex","boy")
print(ret)
print(stu)

---> boy    #setdefault 返回值为被添加键所对应的值
---> {'age': '18', 'sex': 'boy', 'name': 'zhangsan'}

2.替换字典中指定键的值

dict["key"] = "value"

stu = {"name":"zhangsan","age":18,"sex":"boy"}
#替换值boy为gril
stu["sex"] = "girl"
print (stu)

3.update()一个字典所有项追加到另一个字典里

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
a = {"name":"zhangsan","sex":"boy"}
b = {"age":18,"name":"lisi"}

a.update(b)    #往字典a中追加字典b的内容
print (a)   #当追加的键存在,则会覆盖之前的键所对应的值
print (b)

---> {'sex': 'boy', 'age': 18, 'name': 'lisi'}
---> {'age': 18, 'name': 'lisi'}

4.字典取值

get()函数 --> 当提取的键不存在时,不会报错,为空

a = {"name":"zhangsan","sex":"boy"}

print (a.get("name"))
#当取的键不存在时,不报错,返回值为None
print (a.get("age"))

#示例
"""
dic = {"name1":"zhangsan","age":{"age1":"18","age2":20},"name2":"lisi","name3":"wangwu"}
"""

dict["key"]

a = {"name":"zhangsan","sex":"boy"}

print (a["name"])

5.keys()从字典中取出所有键

  • 不能通过在括号中输入键来取键值
  • 返回所有的键,类型为 dict_keys
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
stu = {"name":"zhangsan","age":"18"}
key = stu.keys()
print(key)          #打印出所有键序列
print(type(key))    #返回类型为 dict_keys
print(list(key))    #将 dict_keys 类型转换成列表

---> dict_keys(['age', 'name'])
---> <class 'dict_keys'>
---> ['age', 'name']

6.values()从字典中取出所有值

返回所有的值,类型为 dict_values

stu = {"name":"zhangsan","age":"18"}
value = stu.values()
print(value)          #打印出所有值序列
print(type(value))    #返回类型为 dict_values
print(list(value))    #将 dict_values 类型转换成列表

---> dict_values(['zhangsan', '18'])
---> <class 'dict_values'>
---> ['zhangsan', '18']

7.items()dict_items返回可遍历的(键, 值) 元组数组

info = {"name":"zhangsan","sex":"boy"}

print(info.items())
print(type(info.items()))

---> dict_items([('sex', 'boy'), ('name', 'zhangsan')])
---> <class 'dict_items'>
info = {"name":"zhangsan","sex":"boy"}

for i in info.items():
    print(i)

---> ('name', 'zhangsan')
---> ('sex', 'boy')

#-----------------------------------------

info = {"name":"zhangsan","sex":"boy"}

for x,y in info.items():
    print(x,y)

---> name zhangsan
---> sex boy

8.del 删除键值对

a = {"name":"zhangsan","sex":"boy","age":18}

del a["name"]
print (a)    #结果中"name":"zhansan"该键值对全部被删除

9.pop()删除键值对

  • 括号中必须为键且不能为空
  • 返回值为删除键的值
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
a = {"name":"zhangsan","sex":"boy","age":18}

value = a.pop("name")
print (value)    #返回值为"zhangsan"
print (a)    #字典a中的"name":"zhangsan"键值对被删除

10.popitem()随机删除字典第一个键值对

  • 并返回该键值对的元组
a = {"name":"zhangsan","sex":"boy","age":18}

b = a.popitem()
print (b)        #返回值为包含被删除的键值对的一个元组
print (a)        #字典a中的某个键值对被删除

11.clear()清空字典中的键值对

  • 没有返回值
  • 原字典为空字典{}
a = {"name":"zhangsan","sex":"boy","age":18}

a.clear()
print (a)

12.copy()复制创建字典

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
a = {"name":"zhangsan","sex":"boy","age":18}

b = a.copy()
print (b)        #b是a复制出来的字典

13.has_key()检查字典是否有指定的键,有结果为 True,没有结果为 False

python3.0 中删除了此方法

a = {"name":"zhangsan","sex":"boy","age":18}

print a.has_key("age")    #True
print a.has_key("height")   #False
user = raw_input("账号:")
pwd = raw_input("密码:")
mysql.setdefault(user,pwd)
print mysql
if mysql.has_key(user):
    print "ok"
else:
    print "no"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值