python基本数据类型之字典
字典dict
字典是另一种可变容器模型,且可存储任意类型对象。
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
常用操作:
- 索引
- 新增
- 删除
- 键、值、键值对
- 循环
- 长度
# 字典
# 1、基本构成
# info = {
# "k1" : "v1", #键值对
# "k2" : "v2",
# }
# 2、字典中的value可以是任何值 想嵌套多少嵌套多少层
# info = {
# "k1": 18,
# "k2": True,
# "k3": [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': (11,22),
# }
# ],
# "k4": (11,22,33,44)
# }
# 3、列表、字典不能做为字典的key 如果key相同,输出的时候不打印
# info = {
# "k1" : 18,
# "k2" : True,
# "k3" : [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': (11,22),
# }
# ],
# "k4" : (11,22,33,44),
# "True" : "123"
# #[1,2,3,"alex"]: 123,列表不能做key
# #{"k1":"v1"} : 123, 字典不能做key
# }
# print(info)
# 4、字典是无序的
# 5、索引方式找到指定元素
# info = {
# "k1": 18,
# "k2": True,
# "k3": [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': (11,22),
# }
# ],
# "k4": (11,22,33,44)
# }
# # v = info["k1"]
# # print(v)
# # v = info[2]
# # print(v)
# v = info["k3"][5]["kk3"][0]
# print(v)
# 6、字典支持del 删除
# info = {
# "k1": 18,
# "k2": True,
# "k3": [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': (11,22),
# }
# ],
# "k4": (11,22,33,44)
# }
# del info["k1"]
# del info["k3"][5]["kk1"]
# print(info)
# 7 for 循环
# info = {
# "k1": 18,
# "k2": True,
# "k3": [
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1': 'vv1',
# 'kk2': 'vv2',
# 'kk3': (11,22),
# }
# ],
# "k4": (11,22,33,44)
# }
# for item in info : #循环字典中的key
# print(item)
# for i in info.keys(): #循环字典中的key
# print(i)
# for i in info.values(): #循环字典中的values
# print(i)
# for i in info.keys():
# print(i,info[i])
# for i,v in info.items(): key 和 values 搜客循环出来
# print(i,v)
# ###############字典中特有的功能########################
# 1、根据序列,创建字典,并指定元素
# v = dict.fromkeys(['k',123,'999'],123)#静态方法
# print(v)
# 2、根据key获取值,key不存在时,可以指定默认值(None)
dic = {
"k1":"v1",
"k2":[]
}
# v = dic.get("k1",11111)
# print(v)
# 3、删除并获取值
# v = dic.pop("k11111",90)
# print(dic,v)
# k,v = dic.popitem()#随机删除
# print(dic,k,v)
# 4、设置值,已经存在不设置,获取当前key对应的值、
# 设置值,不存在设置,获取当前key对应的值
# v = dic.setdefault("k11","13")
# print(dic,v)
# 5、 已经存在的覆盖key对应的值,不存在创建
# dic.update({'k1':11111,'k3':'alex'})
# dic.update(k1=123,k3=235,k5="asdf")
# print(dic)
dict
定义:{key1:value1,key2:value2},key-value结构,key必须可hash
特性:
1.可存放多个值
2.可修改指定key对应的值,可变
3.无序
字典内置函数&方法
Python字典包含了以下内置函数:
| 序号 | 函数及描述 | 实例 |
|---|---|---|
| 1 | len(dict) 计算字典元素个数,即键的总数。 |
>>> dict = {'Name': 'Tom', 'Age': 7, 'Class': 'First'}
>>> len(dict)
3
|
| 2 | str(dict) 输出字典以可打印的字符串表示。 |
>>> dict = {'Name': 'Tom', 'Age': 7, 'Class': 'First'}
>>> str(dict)
"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"
|
| 3 | type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。 |
>>> dict = {'Name': 'Tom', 'Age': 7, 'Class': 'First'}
>>> type(dict)
<class 'dict'>
|
Python字典包含了以下内置方法:
| 序号 | 函数及描述 |
|---|---|
| 1 | radiansdict.clear() 删除字典内所有元素 |
| 2 | radiansdict.copy() 返回一个字典的浅复制 |
| 3 | radiansdict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
| 4 | radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值 |
| 5 | key in dict 如果键在字典dict里返回true,否则返回false |
| 6 | radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组 |
| 7 | radiansdict.keys() 以列表返回一个字典所有的键 |
| 8 | radiansdict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
| 9 | radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里 |
| 10 | radiansdict.values() 以列表返回字典中的所有值 |

浙公网安备 33010602011771号