欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第六天-python字典-2

程序员文章站 2024-03-16 13:21:22
...

字典的环节,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))

第六天-python字典-2

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

第六天-python字典-2

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

第六天-python字典-2

字典有很多常用的方法
get
setdefault
keys
valus
iteritems
update等

1)clear方法

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

第六天-python字典-2

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'))

第六天-python字典-2

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 '))#相当于增加一个值,设置增加一个值

第六天-python字典-2

第六天-python字典-2

4)key 和 iterkeys

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

第六天-python字典-2

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)

第六天-python字典-2

6)pop

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

第六天-python字典-2

字典高级操作
1)fromkeys

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

第六天-python字典-2

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

第六天-python字典-2

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

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

第六天-python字典-2

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)

第六天-python字典-2

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表示从小到大

第六天-python字典-2