python-字典

1、定义字典,字典是key-value格式的,是无序的

stu_info={
    'username':'wldong',
    'password':'123456',
    'money':20,
    'addr':'北京'
}

2、创建空字典

d1={} #创建空字典
d2=dict() #创建空字典

3、增加元素

d1['name']='xbxu'
d1['age']=18
d1.setdefault('class','双子座')
print('之前的',d1)

d1.setdefault('age',38) #如果使用setdefault,key已经存在了,就不会修改原来key的值
d1['name']='xbxu1' #如果key已经存在了,会修改原来的值,如果key不存在则会新增
print('之后的',d1)

4、修改元素

d1['name']='xbxu2'

5、取值

print(d1['name'])
print(d1.get('name'))
#取一个不存在的kry
# print(d1['banban']) #当取值的key不存在时,会报错,提示KeyError
print(d1.get('banban')) #当取值的key不存在时,会返回None(表示什么都没有),不会报错;可以使用此方法
print(d1.get('money',0)) #可以增加默认值,当获取不到key值时则返回0,若能获取到值则返回对应的值

print(d1.keys()) #取到字典里面所有的key,返回内容:dict_keys(['name', 'age', 'class'])
print(d1.values()) #取到字典里面所有的value,返回内容:dict_values(['xbxu2', 18, '双子座'])

6、删除元素

d1.pop('name')
del d1['name']
#d1.popitem() #随机删除一个元素k-v,不常用
print(d1)

7、清空

d1.clear() #清空

8、将第二个字典加到第一个字典里面去

d2={'abc':1234}
d1.update(d2) #将第二个字典加到第一个字典里面去
print(d1)

 9、字典循环

users={
    'wldong':'123456sw',
    'wldong1':'12we3456',
    'wldong2':'1234r456',
    'wldong3':'1234f456',
    'wldong4':'1234r356',
    'wldong5':'12345226',
    'wldong6':'12345336'
}

需求:将以上密码修改成“用户名_密码”

分析

1)循环这个字典
2)把value修改成value=key_value

方法一:

for k in users: #直接循环一个字典的话,循环的是key
    value=users[k]  #通过key取到value
    users[k]='%s_%s'%(k,value)
print(users)

方法二:

#直接循环取到key和value
for k,v in users.items():
    print('%s_%s'%(k,v))
原文地址:https://www.cnblogs.com/wldong/p/10682334.html