Python字典的一点用法

  #python的基本语法网上已经有很多详细的解释了,写在这里方便自己记忆一些

  字典是一种映射类型的数据结构,(映射一般是数学中的术语,指两个元素之间元素相互对应的关系)。字典和序列有很大的不同,序列类型是通过数组的形式来存储数据,并通过索引的方式来获取数据的值,索引值与对应位置存储的数据是没有关系的。但是字典是通过元素和元素的对应关系来获得元素的值的。

  注意:字典的键必须独一无二,但是值可以取任何数据类型,列表,元组,字符串,数、

  1、创建元组有五种方式

1、a = {'a':1,'b':2}  
2、b = dict(a=1,b=2)
3、c = dict([('a',1),('b',2)])
  d1 = (1,2)
  d2 = ['a','b']
4、d = dict(zip(d2,d1))  #zip方法将两个可迭代序列成对输出,和它相似用法的有enumerate(),将单个可迭代序列按照索引值输出
5、e = dict({'a':1,'b':2})

print(a==b==c==d==e)

True

  2、字典具有许多内置方法,有几种常见的方法需要掌握

#fromkeys(),fromkeys方法有两个参数,第一个为可迭代序列,其中放入字典的键,第二个为字典的值,序列可以存放多个值,但是键只有一个,如果不写第二个参数不写,
 则默认值为None
#fromkeys()并不对原字典改变,而是返回一个新的字典,可以看到,a字典仍然为空,而b字典则有值
a = {} b = a.fromkeys([1,2,3],'what') print(a) print(b)

 {}
 {1: 'what', 2: 'what', 3: 'what'}

#keys(),values(),items()分别是返回字典的键,值,项(项是由键和值构成的一对元素,即键值对)
for
item in zip(b.keys(),b.values(),b.items()): print(item) (1, 'what', (1, 'what')) (2, 'what', (2, 'what')) (3, 'what', (3, 'what'))
#get(),同样有两个参数,第一个为字典的键,第二个是如果在字典中不存在所要查询的键需要返回的值,如果不填则默认返回None
print
(b.get(1)) print(b.get(4,'找不到呢'))
what
找不到呢
#copy()方法用来复制字典,这和把字典直接付给一个变量不同,前者是将字典的内容在新的内存地址里面复制,后者是把新变量直接指向原地址
a = {1:'a',2:'b',3:'c'} b = a.copy() print(id(a),id(b)) 2803652135528 2803652136176

还有几种如pop(),根据给定键弹出值,popitem(),随机弹出一个项,update(),用来更新字典(这与直接把字典的某个键赋值功能相同)

猜你喜欢

转载自www.cnblogs.com/chenprice/p/10128084.html