您的位置:首页 > 编程语言 > Python开发

第六天-python字典-2

2017-10-25 04:48 393 查看
字典的环节,key:value的形式在很多语言中都实用,java用map,json等,redis中等都存在hash等形式,虽然名字不同,但是都是key:value的形式,字典是另一种可变容器模型,且可存储任意类型对象。

字典中每个键值(key=>value)对用冒号(:)分隔,每个对之间用逗号(,)分割,整个字典包括在花括号{}中,字典赋值有三种方式

k={‘name’:’lingxiangxiang’,’age’:’100’,123:’abc’}

d=dict(a=1,b=2,c=3)

d=dict([(‘name’,’list’),(‘age’,20)])

k = {'name':'lingxiangxiang', 'age': 20, 'sex':'man'}
print(k)
print(type(k))




k1 = dict (a=1, b=2, c=3)
print(k1)




d =dict([('name','lingxiangxiang'), ('age', 20)])
print(d)




字典有很多常用的方法

get

setdefault

keys

valus

iteritems

update等

1)clear方法

d =dict([('name','lingxiangxiang'), ('age', 20)])
print(d)




2)get方法

#get方法
k = {'name':'lingxiangxiang', 'age': 20, 'sex':'man'}
d =dict([('name','lingxiangxiang'), ('age', 20)])
print(dir(d))
print(k.get('name'))
print(k.get('age'))
print(k.get('address'))




3)setdefault方法

k = {'name':'lingxiangxiang', 'age': 20, 'sex':'man'}
#setdefault
print(k.setdefault('name','beijing'))
print(k.setdefault('age','beijing'))
print(k.setdefault('address','beijing huan ying ni '))#相当于增加一个值,设置增加一个值






4)key 和 iterkeys

k = {'name':'lingxiangxiang', 'age': 20, 'sex':'man'}
print('######' * 20)
print(k.keys())
print(k.iterkeys())




5)values、iteritems和items

print('######' * 20)
#valus
print(k.values())#只是输出了对应值

#iteritems
print(k.iteritems())#这是对象,建议在开发中使用。取一个用一个
print(k.items())# 把所有元素组取出,放在内存中;太占用系统资源
for x, y in k.iteritems():#根据观察x,后面最好加一个空格,这里是for循环;输出的结果是一对一对的出现
print(x, y)




6)pop

print(k)
k.pop('address')#删除一个指定键值,只能放key,
k.pop('name')
print(k)




字典高级操作

1)fromkeys

l = ['a', 'b', 'c', 'd']
m = {}
n = m.fromkeys(l, 123)#这里123的前面是字母‘l’。
print(n)




print('@@@@@@' * 20)
l = ['a', 'b', 'c', 'd']
m = {}
# n = m.fromkeys(l, 123)#这里123的前面是字母‘l’。
n = dict.fromkeys(l, 123)#这里123的前面是字母‘l’。
print(n)




2)两个列表叠加成一个字典:zip函数

l1 = ['a', 'b', 'c', 'd']
l2 = [1, 2, 3, 4]
dict_test = zip(l1, l2)
print(dict_test)




3)update

print('@@@@@@' * 20)
l1 = ['a', 'b', 'c', 'd']
l2 = [1, 2, 3, 4]
dict_test = dict(zip(l1, l2))#将列表变成字典,通过dict实现
print(dict_test)
print(k)
dict_test.update(k)
print(dict_test)




4)字典排序

mm = dict(a=1, b=10, c=3, d=9)
print(mm)
#print sorted(mm.iteritems(), key = lambda d:d[1], reverse = True)#d表示一个参数,True表示从大到小,Flase表示从小到大
print sorted(mm.iteritems(), key = lambda d:d[1], reverse = Flase)#d表示一个参数,True表示从大到小,Flase表示从小到大


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: