python中的字典及嵌套遍历

目录
  • python字典及嵌套遍历
    • 访问字典里的值
    • 修改字典
    • 删除字典元素
    • 嵌套字典遍历与内置函数
  • 字典的常用方法(定义、新增、删除、更新、遍历、嵌套等)
    • 什么是字典?
    • 为什么需要字典?
    • 字典
  • 总结

python字典及嵌套遍历

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中

dict1={'apple':23,'banana':34,'cherry':6}
dict2={'java':[1,2],'python':[3,4],'c++':[5,6]}
dict3={'java':{'year':'1996','url':'www/baidu.com','score':[20,30,40]},'python':{'year':'1994','url' :'www/baidu.com','score':[50,60,70]}}

访问字典里的值

获取字典里的值方式有两种,一个是通过字典的key值下标获取对应value,还可以通过get方法获取对应value

区别:

使用key下标的方式,如果用字典里没有的键访问数据,会抛KeyError的异常。

而使用get方法,如果键不在字典中返回默认值 None 或者设置的默认值。

修改字典

dict1={'apple':23,'banana':34,'cherry':6}
dict1['apple'] = 8 # 更新
dict1['orange'] = 34 # 添加

删除字典元素

dict3 ={'java':[1,2],'python':[3,4],'c++':[5,6]}
#========删除元素
print('删除前',dict3)
del dict3['java']
print('删除后',dict3)
#=======清空字典所有条目
print('清空字典所有条目',dict3.clear())
#========删除字典
del dict3

嵌套字典遍历与内置函数

items()—函数 Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。

#======items函数 嵌套for循环
dict3={'java':{'year':'1996','url' :'www/baidu.com','score':[20,30,40]},'python':{'year':'1994','url' :'www/baidu.com','score':[50,60,70]}}
for key,value in dict3.items():
    print('外层key',key)
    print('外层value',value)
    for key1,value1 in value.items():
        print('内层key',key1)
        print('内层value',value1)

keys() — Python 字典(Dictionary) keys() 函数以列表返回一个字典所有的键。values() — Python 字典(Dictionary) values() 函数以列表返回字典中的所有值。

#========方法二 使用keys() ,values() 函数获取嵌套字典的所有key,value
dict3={'java':{'year':'1996','url' :'www/baidu.com','score':[20,30,40]},'python':{'year':'1994','url' :'www/baidu.com','score':[50,60,70]}}
print(dict3.keys())
for i in range(len(list(dict3.values()))):
    print(list(dict3.values())[i].values())

fromkeys() —Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。

seq = ('Google', 'Runoob', 'Taobao')
# 不指定默认的键值,默认为 None
thisdict = dict.fromkeys(seq)
print ("新字典为 : %s" %  str(thisdict))
# 指定默认的键值
thisdict = dict.fromkeys(seq, 10)
print ("新字典为 : %s" %  str(thisdict))

popitem()—Python 字典 popitem() 方法返回并删除字典中的最后一对键和值。

dict2={'java':[1,2],'python':[3,4],'c++':[5,6]}
pop_obj=dict2.popitem()
print(pop_obj)
print(site)

字典的常用方法(定义、新增、删除、更新、遍历、嵌套等)

什么是字典?

生活中的字典:通过字去找含义。

Python的字典:通过key去找vaule

为什么需要字典?

应用场景:有一份名单记录了学生和对应的成绩,现在需要通过Python录入到程序中,并可以通过学生姓名找到其成绩。

可以通过Key(姓名)找到value(成绩)

字典

一、字典的定义

1、定义字典字面量

{key:value,key:value......}

2、定义字典变量

my_dict = {key:value,key:value......}

3、定义空字典

my_dict = {}
my_dict = dict()

4、通过key获取value

例:

my_dict = {"张":99,"王":98,"李":97}
score = my_dict["张"]
print(score)

5、字典的嵌套

字典的key和value可以是任意数据类型(key不可为字典)

例:记录学生各科的考试信息

my_dict = {
    "张":{
        "语文":99,
        "数学":98
    },
    "王":{
        "语文":99,
        "数学":98
    }
}
score = my_dict["张"]["语文"]
print(score)

二、常用操作

1、新增元素

语法:字典[key] = value

结果:字典被修改,新增元素

例:

my_dict = {"张":99,"王":98,"李":97}
my_dict["刘"] = 96
print(my_dict)

2、更新元素

语法:字典[key] = value

结果:字典被修改,元素更新

例:

my_dict = {"张":99,"王":98,"李":97}
my_dict["张"] = 96
print(my_dict)

3、删除元素

语法:字典.pop(key)

结果:获得指定key的value,字典被修改

例:

my_dict = {"张":99,"王":98,"李":97}
my_dict.pop("张")
print(my_dict)

4、清空字典

语法:字典.clear()

结果:字典被修改,元素清空

例:

my_dict = {"张":99,"王":98,"李":97}
my_dict.clear()
print(my_dict)

5、获取全部的key

语法:字典.keys()

结果:得到全部key

例:

my_dict = {"张":99,"王":98,"李":97}
print(my_dict.keys())

6、统计字典元素数量

语法:len(字典)

三、字典的遍历

1、遍历字典的key

例:

my_dict = {"张":100,"王":100,"李":100}
for keys in my_dict:
    print(keys)

结果:



2、遍历字典的value

例:

my_dict = {"张":100,"王":100,"李":100}
for values in my_dict.values():
    print(values)

结果:

100
100
100

3、遍历字典的item

例:

my_dict = {"张":100,"王":100,"李":100}
for items in my_dict.items():
    print(items)

结果:

('张', 100)
('王', 100)
('李', 100)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 关于python实现json/字典数据中所有key路径拼接组合问题

    案例需求: 在已知的json数据或者字典数据中,获取所有key值的路径拼接值,并能够根据拼接路径获取对应的值. 示例代码: import jmespath data = { "id": 1, "name": '张三', "age": 25, "grade": { "Chinese": 99, "Math": 100 }, "records": [ { "Ch

  • Python中字典列表中删除重复项

    要从字典列表中删除重复项: 使用字典推导来遍历列表. 使用每个 id 属性的值作为键,使用字典作为值. 使用 dict.values() 方法只获取唯一的字典. 使用 list() 类将结果转换为列表. list_of_dictionaries = [ {'id': 1, 'site': 'jiyik.com'}, {'id': 2, 'site': 'google.com'}, {'id': 1, 'site': 'jiyik.com'}, ] result = list( { diction

  • Python中的字典遍历备忘

    备忘一下python中的字典如何遍历,没有什么太多技术含量.仅供作为初学者的我参考. 复制代码 代码如下: #!/usr/bin/env python # coding=utf-8 demoDict = {'1':'Chrome', '2':'Android'} for key in demoDict.keys():     print key for value in demoDict.values():     print value for key in demoDict:     pri

  • Python中的字典及其使用方法

    目录 一.使用字典 1.访问字典中的值 2.在字典中添加键值对 3.修改字典中的值 4.删除字典中的键值对 5.由类似对象组成的字典 二.遍历字典 1.遍历字典中的所有键值对 2.遍历字典中的所有键 3.遍历字典中的所有值 三.嵌套 1.字典列表 2.在字典中嵌套列表 3.在字典中嵌套字典 前言: 本文的主要内容是介绍Python中字典及其使用,包括使用字典(添加.删除.修改等操作).遍历字典以及字典与列表之间的嵌套使用,文中附有代码以及相应的运行结果辅助理解. 一.使用字典 在Python中,

  • python中的字典操作及字典函数

    字典 dict_fruit = {'apple':'苹果','banana':'香蕉','cherry':'樱桃','avocado':'牛油果','watermelon':'西瓜'} 字典的操作 #字典的遍历方式 #默认遍历(遍历key) for value in dict_fruit: print(value) ''''' 遍历出的值: watermelon apple cherry avocado banana ''' #使用key遍历(与默认遍历一样) for key in dict_f

  • Python中的字典到底是有序的吗

    之前写了文章介绍python中的列表和字典,在文章中描述到了python中的列表是有序的,字典是无序的,后来有粉丝在群里提醒我,说python3.6的版本之后,字典是有序的,因此,我找了一个低版本的python来验证一下效果: 首先,从官网下载python3.4的版本,然后编写一行代码验证一下打印字典的所有key.查看打印出来的key的顺序: Python3.6以下版本:(以3.4版本为例) 你该不会以为只有使用keys()函数是无序的吧: 从上图可以看出,分别在cmd窗口和pycharm中打印

  • Python中关于字典的常规操作范例以及介绍

    目录 1.字典的介绍 2.访问字典的值 (一)根据键访问值 (二)通过get()方法访问值 3.修改字典的值 4.添加字典的元素(键值对) 5.删除字典的元素 6.字典常见操作 1.len 测量字典中键值对的个数 2. keys 返回一个包含字典所有KEY的列表 3. values 返回一个包含字典所有value的列表 4. items 返回一个包含所有(键,值)元祖的列表 5. 遍历字典的key(键) 6. 遍历字典的value(值) 7. 遍历字典的items(元素) 8. 遍历字典的ite

  • Python中对字典的几个处理方法分享

    目录 字典求和 列表剔重并计数 获取字典中最大的value 获取字典中出现value最大的key 字典对应元素追加 字典对应元素追加并剃重 对字典进行过滤 反转字典的方法(字典的key和value对换) 合并字典 字典求和 edge_weights = defaultdict(lambda: defaultdict(float)) for idx,node in enumerate(graph.nodes()): node2com[node] = idx #给每一个节点初始化赋值一个团id fo

  • Python中创建字典的几种方法总结(推荐)

    1.传统的文字表达式: >>> d={'name':'Allen','age':21,'gender':'male'} >>> d {'age': 21, 'name': 'Allen', 'gender': 'male'} 如果你可以事先拼出整个字典,这种方式是很方便的. 2.动态分配键值: >>> d={} >>> d['name']='Allen' >>> d['age']=21 >>> d[

  • 在Python中合并字典模块ChainMap的隐藏坑【推荐】

    在Python中,当我们有两个字典需要合并的时候,可以使用字典的 update 方法,例如: a = {'a': 1, 'b': 2} b = {'x': 3, 'y': 4} a.update(b) print(a) 运行效果如下图所示: 然而,这个方法有一个问题--它会改变其中一个字典.如果我们不想改变原有的两个字典,那么我们必需要单独再创建一个字典: a = {'a': 1, 'b': 2} b = {'x': 3, 'y': 4} c = dict(a) c.update(b) prin

  • 在Python中关于使用os模块遍历目录的实现方法

    一.Python中os模块的常见的使用方法 os.listdir(path):遍历path的文件或者文件夹,返回一个列表 os.path.join(path1,path2,--,pathn):拼接路径 os.path.isdir(path):判断此路径对应的是否是文件夹 os.path.isfile(path):判断是否是文件 os.path.dirname(path):返回路径的文件夹名 os.path.filename(path):返回路径的文件名 os.getcwd():获取当前路径 二.

  • 解决python中遇到字典里key值为None的情况,取不出来的问题

    在python 命令行界面里,是可以去取key为None的value值. 在脚本里面就取不出了,可以用如下的方式解决. hosts = {"a":"111", "None":b, "c":"333"} hname = "" for (k,v) in hosts.items(): if k == None: print " value=%s " % (v) else:

随机推荐