gpt4 book ai didi

python - 字典中单个键的多个值

转载 作者:行者123 更新时间:2023-11-27 23:54:13 26 4
gpt4 key购买 nike

我目前正在编写一个脚本,从 xml 中提取数据并将其写入 html 文件以便于在网页上查看。

每条数据都有2条“子数据”:Owner和Type。

为了使 html 正常工作,我需要将“所有者”字符串和“类型”字符串写入正确的位置。如果它只是一条数据,那么我会使用字典,只使用数据名称作为键,然后将值写入 html,但是有 2 条数据。

我的问题是,字典可以将 2 个值(在我的例子中是所有者和类型)分配给一个键吗?

最佳答案

任何对象都可以是字典中的一个值,因此您可以使用任何集合针对同一个键保存多个值。将我的评论扩展到一些代码示例中,以增加复杂性(并且在我看来,可读性):

元组

最简单的选项是字符串的二元组,您可以通过索引访问它:

>>> d1 = {'key': ('owner', 'type')}
>>> d1['key'][0]
'owner'
>>> d1['key'][1]
'type'

字典

接下来是一个子字典,它允许您通过键名访问值:

>>> d2 = {'key': {'owner': 'owner', 'type': 'type'}}
>>> d2['key']['owner']
'owner'
>>> d2['key']['type']
'type'

命名元组

最后 collections 模块提供了 namedtuple ,这需要一些设置,但随后允许您通过属性名称访问值:

>>> from collections import namedtuple
>>> MyTuple = namedtuple('MyTuple', ('owner', 'type'))
>>> d3 = {'key': MyTuple('owner', 'type')}
>>> d3['key'].owner
'owner'
>>> d3['key'].type
'type'

使用命名的键/属性让您后续访问值更清晰(d3['key'].ownerd2['key']['owner']d1['key'][0] 更明确。

关于python - 字典中单个键的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25056040/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com