第六天-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))
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表示从小到大
上一篇: github配置SSH Key
推荐阅读
-
第六天-python字典-2
-
python语法基础学习笔记Task06:字典与集合
-
python实现判断一个数是否是2的n次方
-
生成{1,2,..n}的字典序r-组合算法
-
python基础-类与对象(2)
-
学python的第六天啦 啦啦 啦啦 啦啦啦
-
DataWhale python基础 Task2 条件语句、循环语句
-
urllib2 get post 博客分类: ptython python
-
有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?用python实现
-
pystun 和 py2exe 以及 NAT类型检测 博客分类: Python分析-设计-架构 stunpystunpy2exewindowscx_freeze