Python数据类型--字典

字典

字典是一种可变容器类型,且可存储任意类型对象,使用的是键值对方式

字典的每个键值key=>value对用冒号:分割,每个键值对之间用逗号(,)分割,整体使用花括号{}

注:dict作为Python的关键字和内置函数,变量名不建议命名为dict

特点
  • 字典的键值对,键必须是唯一的,值可以任意

    不允许同一个键出现两次。如果创建时同一个键被赋值两次,后一个值会覆盖前面的值,只采取后面的值

    tinydict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}
     
    print ("tinydict['Name']: ", tinydict['Name'])
    
  • 值可以选择任何数据类型,但是键必须是不可变的,如字符串,数字,而用列表就不行

    tinydict = {['Name']: 'Runoob', 'Age': 7}
     
    print ("tinydict['Name']: ", tinydict['Name'])
    
创建字典
tinydict1 = { 'abc': 456 }
tinydict2 = { 'abc': 123, 98.6: 37 }
创建空字典
  • 使用大括号{}创建空字典
# 使用大括号 {} 来创建空字典
emptyDict = {}
 
# 打印字典
print(emptyDict)
 
# 查看字典的数量
print("Length:", len(emptyDict))
 
# 查看类型
print(type(emptyDict))
  • 使用内置函数dict()创建字典:
emptyDict = dict()
 
# 打印字典
print(emptyDict)
 
# 查看字典的数量
print("Length:",len(emptyDict))
 
# 查看类型
print(type(emptyDict))

# 创建有值的字典:dict(键 = 值,...)
empty_dict = dict(a='2', b='3')
print(empty_dict)
访问字典的值

字典[‘键名’]

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
print ("tinydict['Name']: ", tinydict['Name'])
print ("tinydict['Age']: ", tinydict['Age'])
修改字典

通过访问字典中的键,直接赋值修改

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
tinydict['Age'] = 8               # 更新 Age
tinydict['School'] = "菜鸟教程"  # 添加信息
 
 
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])
删除字典

能删单一的元素,也可以清空字典,清空只需要一项操作,清空字典,字典成为空字典

显示删除一个字典用del命令

tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
del tinydict['Name'] # 删除键 'Name'
tinydict.clear()     # 清空字典
del tinydict         # 删除字典
 
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])
内置函数

地址:https://www.runoob.com/python3/python3-dictionary.html

  • len():计算字典中的个数,即键的总数
  • str():输出字典,可以打印的字符串表示
  • type(variable):返回输入的变量类型,如果变量是字典就返回字典类型
  • dict.clear():删除字典内所有元素
  • dict.copy():返回一个字典的浅复制
  • dict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
  • dict.get(key, default=None):返回指定键的值,如果键不在字典中返回 default 设置的默认值
  • key in dict:如果键在字典dict里返回true,否则返回false
  • dict.items():以列表返回一个视图对象
  • dict.setdefault(key, default=None): 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
  • dict.update(dict2):把字典dict2的键/值对更新到dict里
  • [ dict.values() :返回一个视图对象
  • pop(key[,default])]) :删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
  • popitem():返回并删除字典中的最后一对键和值。
实践

1、想要将字典的键名用逗号隔开,变成一个字符串

# 装换成list集合
keys = list(table_data.keys())
for i in range(len(keys)):
    keys[i] = "`" + str(keys[i]) + "`"
# 使用逗号拼接成一个字符串
key = ','.join(keys)

2、遍历字典

1)、使用字典对象的items()方法可以遍历字典的项,或者是字典的“键值对”

1.1)、遍历项

datas = {"数学": 125, "英语": 86, "物理": 99, "语文": 120}
# 直接访问items项
for item in datas.items():
    print(item)

输出结果:

('数学', 125)
('英语', 86)
('物理', 99)
('语文', 120)

1.2)、遍历键值对

# 遍历键值对
for key, value in datas.items():
    print(key + " 成绩是: " + str(value))

输出结果:

数学 成绩是: 125
英语 成绩是: 86
物理 成绩是: 99
语文 成绩是: 120

2)、使用字典对象的keys()方法可以获取字典的“键”序列

# 使用字典的keys()方法可以获取字典的键序列
for key in datas.keys():
    print(key)

输出结果:

数学
英语
物理
语文

3)、使用字典对象的values()方法可以获取字典的“值”序列

# 使用字典的values()方法可以获取字典的值序列
for value in datas.values():
    print(value)

输出结果:

125
86
99
120

你可能感兴趣的:(入门,python)