python中的字典及嵌套遍历

 更新时间:2023年05月06日 09:26:16   作者:数分老H  
这篇文章主要介绍了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)

总结

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

相关文章

  • Python2.7.10以上pip更新及其他包的安装教程

    Python2.7.10以上pip更新及其他包的安装教程

    今天小编就为大家分享一篇Python2.7.10以上pip更新及其他包的安装教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python3实现捕获Ctrl+C终止信号

    Python3实现捕获Ctrl+C终止信号

    这篇文章主要为大家详细介绍了如何利用Python3实现捕获Ctrl+C终止信号的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-03-03
  • Python闭包之返回函数的函数用法示例

    Python闭包之返回函数的函数用法示例

    这篇文章主要介绍了 Python闭包之返回函数的函数用法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Python全栈之单项循环

    Python全栈之单项循环

    这篇文章主要为大家介绍了Python单项循环,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • python Selenium 库的使用技巧

    python Selenium 库的使用技巧

    这篇文章主要介绍了python Selenium 库的使用技巧,帮助大家更好的理解和学习python Selenium 库,感兴趣的朋友可以了解下
    2020-10-10
  • pyppeteer执行js绕过webdriver监测方法下

    pyppeteer执行js绕过webdriver监测方法下

    这篇文章主要为大家介绍了pyppeteer上执行js并绕过webdriver监测常见方法的上篇,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • Python修改列表值问题解决方案

    Python修改列表值问题解决方案

    这篇文章主要介绍了Python修改列表值问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 利用Python如何实现数据驱动的接口自动化测试

    利用Python如何实现数据驱动的接口自动化测试

    这篇文章主要给大家介绍了关于利用Python如何实现数据驱动的接口自动化测试的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们来一起看看吧
    2018-05-05
  • Django ORM 常用字段与不常用字段汇总

    Django ORM 常用字段与不常用字段汇总

    这篇文章主要介绍了Django ORM 常用字段与不常用字段汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 详解Python3中ceil()函数用法

    详解Python3中ceil()函数用法

    在本篇内容里我们给大家整理了关于Python3中ceil()函数用法以及相关知识点,需要的学习一下吧。
    2019-02-02

最新评论