当前位置:   article > 正文

python字典(dict)_python dict取值

python dict取值

目录

字典的定义:

结构:

其他类型转换成字典:

常见方法:

keys(获取字典里面使用的键,返回一个列表,列表内都是字典内的键):

values(获取字典里面所有的值,返回一个列表,列表内都是字典内的值)

items(获取字典里面所有的元素,返回一个元组,元组内都是字典内的元素)

get(根据键名得到相对于的值,如果没有返回Nome)

改:

删: 

pop(在原列表中根据键名删除某个元素并弹出这个值,如果没有找到则返回Nome):

扩展: 

len()(获取长度)

索引: 

 根据键添加、修改值:

 根据键名进行删除:

对字典嵌套里进行取值:


字典的定义:

英文为dict,由键(key)和值(value)成对组成,键和值中间以冒号:隔开,项之间用逗号隔开,整个字典由大括号{}括起来。

结构:

变量名={key(值):value(值)}

content_dict={'name':'小明','age':18}   #示例
字典的键有特殊要求: 必须是可哈希, int/bool/tuple/str,  不可以哈希的类型:list/dict!
简单说就是字典的键只能是整型、布尔类型、元组、字符串类型,不能是列表、字典类型!
  1. dic = {123: 456, True: 999, "id": 1, "name": "你好", "age": 18, "stu": ['帅哥', "美女"], (1, 2, 3): "mht"}
  2. print(dic[123])
  3. print(dic[True])
  4. print(dic["id"])
  5. print(dic[(1, 2, 3)])

否则会报错 TypeError: unhashable type: 'list'

其他类型转换成字典:

其他类型转换成字典必须要有对应的键名和值。

1、使用嵌套列表,将要转换的键名和值都放在最里面的列表内,外层列表表示字典元素的个数。

  1. v1=dict([['name','小明'],['age',19]])
  2. print(v1) #{'name': '小明', 'age': 19}

2、 和第一种类似,只是将内层的列表改成元组。

  1. v1=dict([('name','小明'),('age',19)])
  2. print(v1) #{'name': '小明', 'age': 19}

平时使用第一种方法就可以了,第二种方法知道了解就行。 

常见方法:

keys(获取字典里面使用的键,返回一个列表,列表内都是字典内的键):

翻译为:钥匙

  1. content_dict={'name':'小明','age':18,'height':180}
  2. content_keys=content_dict.keys() #将字典里面的键赋值给content_keys
  3. print(content_keys) #输出结果为dict_keys(['name', 'age', 'height'])

values(获取字典里面所有的值,返回一个列表,列表内都是字典内的值)

翻译为:价值观

  1. content_dict={'name':'小明','age':18,'height':180}
  2. content_value=content_dict.values() #将字典里面的值赋值给content_value
  3. print(content_value) #输出结果为dict_values(['小明', 18, 180])

items(获取字典里面所有的元素,返回一个元组,元组内都是字典内的元素)

翻译为:项目

  1. content_dict={'name':'小明','age':18,'height':180}
  2. data=content_dict.items() #将字典里面的元素赋值给data
  3. print(data) #输出结果为dict_items([('name', '小明'), ('age', 18), ('height', 180)])

get(根据键名得到相对于的值,如果没有返回Nome)

翻译为:得到

  1. content_dict={'name':'小明','age':18,'height':180}
  2. name=content_dict.get('name')
  3. data1=content_dict.get('111',None) #如果没找到时
  4. data2=content_dict.get('111') #省略后
  5. print(name) #输出结果为小明
  6. print(data1) #输出结果为Nome
  7. print(data2) #输出结果为Nome

 Nome在这里是可以省略的!

改:

通过索引 + 值 修改键的值。

  1. content_dict={'name':'小明','age':18,'height':180}
  2. content_dict['name']='小红'
  3. print(content_dict) #输出结果为{'name': '小红', 'age': 18, 'height': 180}

删: 

pop(在原列表中根据键名删除某个元素并弹出这个值,如果没有找到则返回Nome):

翻译为:枪击、爆声、流行乐曲。

  1. content_dict={'name':'小明','age':18,'height':180}
  2. content=content_dict.pop('name',None) #删除键名和所对应的值,并将值赋值给content,如果没有找到,则将None赋值给content
  3. data=content_dict.pop('18',None) #如果没有的情况
  4. print(content_dict) #输出结果为{'age': 18, 'height': 180}
  5. print(content) #输出结果为小明
  6. print(data) #输出结果None

如果不加Nome的情况下,当没有找到时会报错KeyError: '键名'!

扩展: 

len()(获取长度)

  1. content_dict={'name':'小明','age':18,'height':180}
  2. print(len(content_dict)) #输出结果3

索引: 

字典的索引与其他的不同,字典的索引是通过键名的!

  1. content_dict={'name':'小明','age':18,'height':180}
  2. print(content_dict['name'])

 根据键添加、修改值:

如果字典里没有改键名,会自动添加键名和值。
如果字典里有该键名,则对对应的值进行修改
  1. content_dict={'name':'小明','age':18,'height':180}
  2. content_dict['money']=110 #如果字典里没有改键名,会自动添加键名和值
  3. content_dict['name']='小红' #如果字典里有该键名,则对对应的值进行修改
  4. print(content_dict) #输出结果为{'name': '小红', 'age': 18, 'height': 180, 'money': 110}

 根据键名进行删除:

del(根据键名进行删除操作)

  1. content_dict={'name':'小明','age':18,'height':180}
  2. del content_dict['height']
  3. print(content_dict) #输出结果为{'name': '小明', 'age': 18}

如果没有找到该键名则会报错:KeyError: '键名'

对字典嵌套里进行取值:

  1. content_dict={'name':'小明','age':18,'height':180,'names':['小红','小亮','小海']}
  2. print(content_dict['names']) #输出结果为['小红', '小亮', '小海']
  3. print(content_dict['names'][0]) #输出结果为小红

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/365263
推荐阅读
相关标签
  

闽ICP备14008679号