一文看懂Python(三)-----字典篇

字典不同于列表、元组和字符串,列表、元组和字符串可以概括为序列类型,有以下特点:

  • 1.都可以通过索引得到每一个元素
  • 2.默认索引值总是从0开始
  • 3.可以通过切片的方法得到一个范围内的元素集合
  • 4.有很多共同的操作符
    而字典是一种映射类型,这是完全不同的。

1、创建字典

1.1 常用创建方式

dict1 = {
    
    '李宁':'云','耐克':'zoom','阿迪达斯':'boost','匹克':'态极'}

1.2 利用元组创建

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

1.3 另外一种创建方式

dict3 = dict(马斯克 = '让编程改变世界',爱因斯坦 = '广义狭义相对论')

2、修改字典

dict3['李宁'] = '一切皆有可能'
# 如果字典中没有该元素,通过上述这种方式会新添加该元素到字典中
dict3['奋斗'] = '社会上容纳不了太多有理想的人'

3、常用方法

3.1 fromkeys(seq,val)方法:创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值,val可选

# 若没有设置val,默认为None
dict1 = {
    
    }
dict1.fromkeys((1,2,3))
# 设置val为number,则创建的字典值为number
dict1.fromkeys((1,2,3),'number')

3.2 keys():获得字典所有的key值

dict2 = {
    
    }
dict2 = dict2.fromkeys(range(30),'赞')
for each in dict2.keys():
    print(each)

3.3 values():获得字典所有的values值

for each in dict2.values():
    print(each)

3.4 items()方法:将字典的每一项打印出来,以元组的形式

for each in dict2.items():
    print(each)

3.5 get(key,default)方法:返回指定键的值,如果值不在字典中返回default值,default可选

# dict2字典中只有30个元素,索引值0~29,没有30,因此返回一个None
print(dict2.get(30))
print(dict2.get(29))

3.6 in/not in :判断key是否在字典中¶

32 in dict2
29 in dict2

3.7 copy():这是浅拷贝,与直接相等不是一个东西

a = {
    
    1:'one',2:'two'}
# 浅拷贝
b = a.copy()
# 通过打印首地址来确认
print(id(a))
print(id(b))
# 可以发现不是相同的

在这里插入图片描述

# 深拷贝
c = a
print(id(c))
print(id(a))
# 可以发现这是一致的

在这里插入图片描述

3.8 pop(key,default):删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

dict2.pop(27)

3.9 popitem():返回并删除字典中的最后一对键和值。

dict2.popitem()

3.10 setdefault(key,default):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

dict2.setdefault(26,'woaini')

3.11 update(dict2):把字典dict2的键/值对更新到dict里

dict2.update({
    
    99:'kk'})

猜你喜欢

转载自blog.csdn.net/dongjinkun/article/details/112803004