第六天-python字典-2

字典的环节,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表示从小到大

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值