首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >理解如何访问字典Python中的键和值

理解如何访问字典Python中的键和值
EN

Stack Overflow用户
提问于 2020-05-12 07:58:09
回答 3查看 421关注 0票数 0

我的代码解决了下面的问题,但是有人能帮助我理解这一点吗?为什么我的代码只访问密钥而不是值?这是一个一贯的问题,我已经了解字典-刚刚开始研究他们这个星期。我希望要么会出现错误,要么会出现一些混乱的国家和数字。

您能解释一下我如何编写代码来将密钥单独添加到新列表中吗?

创建字典黄金中国家的列表,并将该列表分配给变量名称国家。不要硬编码这个.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
golds = {"Italy": 12, "USA": 33, "Brazil": 15, "China": 27, "Spain": 19, "Canada": 22, "Argentina": 8, "England": 29}

countries = []
accum = 0
for item in golds:
    countries.append(item)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-05-12 08:04:05

要遍历所做的键,请执行以下操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for k in golds.keys():

关于价值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for v in golds.values():

对两人而言:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for k, v in golds.items():

Python创建者在执行for item in golds时必须选择上述其中之一作为默认体验。他们决定了第一个。

但是为什么呢?

正如Sven和Amitai所指出的,使迭代键的默认行为与执行key in my_dict的能力是一致的。我越想它,value in my_dict就会是个坏主意。

而且,我认为Python想要与当时许多其他语言处理这种情况的方式保持一致,所以这就提出了一个问题,哪种主要语言是第一个遍历字典的语言?我试着做了一些研究来找出这一点,但我找不出哪种语言是第一个做出这个选择的:

票数 1
EN

Stack Overflow用户

发布于 2020-05-12 08:11:37

当迭代字典时,您将只在上进行迭代。你的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for item in golds:
    countries.append(item)

就是这样。

一个简单得多的方法是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
countries = list(golds)

因为list构造函数在序列上迭代,在dict的情况下,这意味着它的键。虽然上面的工作,它是有点模糊。一个更好的选择是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
countries = list(golds.keys())

keys方法返回所有字典键的序列(Python3中的迭代器,仅仅是Python2中的一个列表)。这比以前的方法更好(IMHO),因为它清楚地说明了代码的意图,使其更具可读性。

票数 1
EN

Stack Overflow用户

发布于 2020-05-12 08:21:27

欢迎来到Python中令人惊奇的字典世界:)一开始事情可能会有点混乱,但别担心,没关系。

关于您的问题:当您在字典中迭代时,它只返回当前项的键(这就是您的代码工作的原因)。如果您想访问其他数据,有几种方法可以帮助您:

  1. dict.values()dict.keys()

这些方法将从dict返回值或键的列表,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
golds = {"Italy": 12, "USA": 33, "Brazil": 15, "China": 27, "Spain": 19, "Canada": 22, "Argentina": 8, "England": 29}

countries = []
accum = 0

# Using .keys() (default behavior)
for item in golds.keys():
    countries.append(item)

# countries -> ["Italy", "USA", "Brazil", "China", "Spain", "Canada", "Argentina", "England"]

# Using .values()
for item in golds.values():
    countries.append(item)

# countries -> [12, 33, 15, 27, 19, 22, 8, 29]
  1. dict.items()

此方法将返回包含当前项的键和值的元组列表,在大多数情况下都非常有用。要使用它,您必须以不同的方式使用您的for

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# DISCLAIMER: key and value are just variable names, you can name them however you want
for key, value in golds.items():
    # key -> 'Italy'
    # value -> 12
    ...

希望这能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61756232

复制
相关文章
Python字典提取_python字典键对应的值
注意如果存在相同键值,比如说: a={'a':1,'b':2,'c':3,'aa':12} b= {'aa':11,'bb':22,'cc':33} 那么方法一\二\三得到结果为
全栈程序员站长
2022/11/03
3.7K0
Python如何修改字典键所对应值
字典中有成对出现的键和值,但是字典中的键值对不是都能修改的,只有值才能修改,我们可以把字典中的键理解为列表下标,一个列表的下标永远是从0开始依次递增1的,是无法修改的。
python自学网
2021/12/02
4.9K0
Python如何修改字典键所对应值
【Python】字典 dict ① ( 字典定义 | 根据键获取字典中的值 | 定义嵌套字典 )
字典 在 大括号 {} 中定义 , 键 和 值 之间使用 冒号 : 标识 , 键值对 之间 使用逗号 , 隔开 ;
韩曙亮
2023/10/11
3110
Python如何获取到单个字典的键(Key)和值(Value)
写代码有时候会遇到这么一种情况: 在 python 的字典中只有一个 key/value 键值对,想要获取其中的这一个元素还要写个 for 循环获取,觉得很不值得,也麻烦。
BigYoung小站
2020/05/21
28.7K0
Python学习记录06-字典中的键映射多个值
如果想一个key映射多个value, 我们就需要让value也是一个容器,可以是列表,也可以集合。看具体的使用场景。列表的特性是可以保持顺序,集合的特性是可以去重。 可以用以下的方式来创建一个映射多个value 的字典
huolong
2023/09/07
4970
抛弃dict[key]的方式访问Python字典的值
如果key不存在,dkey会抛出一个KeyError类型的异常,这将导致python程序崩溃,这是非常令人烦恼的事情。
AIFEx
2023/10/04
2490
抛弃dict[key]的方式访问Python字典的值
Python - 字典中的值求和
Python 编程语言是一种高级的通用编程语言,广泛用于各种目的。该软件由网页设计、数据分析和人工智能组成。人们之所以意识到这一点,是因为它的简单性、易读性和可用性的便利性。Python 提供了各种预定义的数据结构,包括列表、元组、映射、集合、堆和阵容。这些组件在每种编程语言中都至关重要。在这篇文章中,我们将专注于用于保存关键信息对的词典。
很酷的站长
2023/08/11
3270
Python - 字典中的值求和
【说站】python使用get()访问字典值
1、一般访问字典中的键值作为索引引用值,但会出现问题。如果访问的键值不在字典中,就会出错。
很酷的站长
2022/11/24
7840
【说站】python使用get()访问字典值
【说站】python如何访问字典
1、字典中的元素不能通过索引来访问,只能是通过键来查找对应的值,有两种不同的写法。
很酷的站长
2022/11/23
7550
【说站】python如何访问字典
python找到多个字典中的公共键
python找到多个字典中的公共键 生成字典 from random import randint,sample s = 'abcdefg' s1 = {x:randint(1,4) for x in sample(s,randint(3,6))} s2 = {x:randint(1,4) for x in sample(s,randint(3,6))} s3 = {x:randint(1,4) for x in sample(s,randint(3,6))} 方案1:循环判断 res = [] fo
听城
2018/04/27
4.1K0
【说站】javascript中字典如何理解
以上就是javascript中字典的理解,希望对大家有所帮助。更多Javascript学习指路:Javascript
很酷的站长
2022/11/24
6450
【说站】javascript中字典如何理解
使用 Python 从字典键中删除空格
Python是广泛用于数据分析,Web开发,AI的平台,并在自动化的帮助下执行许多不同类型的任务。对我们来说,了解 python 的不同功能很重要。在本文中,我们将了解字典功能以及如何使用 python 删除键之间的空格。此功能主要用于根据需要存储和检索数据,但有时字典的键值之间可能存在空格。当用户希望访问数据时,甚至在要编辑数据的情况下,这会导致错误。
很酷的站长
2023/08/11
3410
使用 Python 从字典键中删除空格
python中循环遍历for怎么用_python遍历字典的值
Python 会自动将dict_1视为字典,并允许你迭代其key键。然后,我们就可以使用索引运算符,来获取每个value值。
全栈程序员站长
2022/09/22
6K0
python中循环遍历for怎么用_python遍历字典的值
Python中如何遍历字典
今天在写一个判断列表中的元素是否与字典中的key值相等的时候,需要用到字典的遍历,经过查阅资料,知道怎么遍历字典的key值;
bear_fish
2018/09/20
1.6K0
Python中如何遍历字典
关于python访问字典的方法
def stu( **kwargs): # 在函数体内对于kwargs的使用不用带星号 print("大家好,我为大家简单自我介绍以下:") print(type(kwargs)) # 对于字典的访问,python2和python3 有区别 # 对于字典的访问kwargs.items(),中间是点链接的来进行访问 for k,v in kwargs.items(): print(k, "---", v) stu(name="zhangs
py3study
2020/02/10
6770
python基础之字典的访问
  在实际开发过程中,我们会遇到需要将相关数据关联起来的情况,例如,处理学生的学号、姓名、年龄、成绩等信息。另外,还会遇到需要将一些能够确定的不同对象看成一个整体的情况。Python提供了字典和集合这两种数据结构来解决上述问题。这里介绍一下python字典的访问相关知识。
jiankang666
2022/06/22
5150
python基础之字典的访问
如何理解python中的类和对象?
本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。
叶子陪你玩
2020/03/23
2.1K0
如何理解python中的类和对象?
如何理解和使用Python中的列表
Python有6个序列的内置类型,但最常见的是列表和元组。今天我们就来讲讲列表。
小土豆Yuki
2020/06/15
7K0
如何使用Python中的字典解析
列表解析,是Python中常用的操作,它语法简单,循环速度足够快。但是,你了解字典解析吗?它跟列表解析一样吗?
老齐
2020/06/05
4.6K0
python字典更新值_Python–字典元组值更新
有时在处理元组数据时,我们在执行其版本时会遇到问题,原因是它是不可变的。讨论字典中元组值的版本。这在许多领域都有应用,因为字典通常是web开发和数据科学领域中流行的数据类型。让我们讨论解决这个问题的某
用户7886150
2021/01/13
2.5K0

相似问题

Python使用理解合并字典键和值

21

带键和值的字典理解

20

在字典理解中引用嵌套字典键和值

12

用Python访问字典列表的键和值

11

在字典中访问字典的键和值

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文