gpt4 book ai didi

python - 我有一个 python 命名元组。除了通过索引或解包之外,还有其他方法可以访问单个成员吗?

转载 作者:太空宇宙 更新时间:2023-11-03 17:20:46 25 4
gpt4 key购买 nike

我有一个 python 3.5 元组,其中数据项的典型结构如下所示。

item = (PosixPath('/mnt/dson/Music/iTunes/iTunes Music/funtoons.mp3'), tagtypes(txt=False, word=False, ebook=False, image=False, exe=False, iso=False, zip=False, raw=False, audio=True, music=True, photoshop=False, video=False, src=False, geek=False, pdf=False, appledouble=False, dot=False), fileinfo(size=13229145, datetime=1333848240.0))

这描述了我的 Linux 文件系统上的一个常见文件。如果我想知道尺寸给定文件的,我可以用这样的方式访问它---项目[2].size。同样,获取描述文件内容的标签的逻辑将使用类似 --- item[1].music 等的代码。

从表面上看,元组中的每个对象都是唯一的如果您想访问其中一位成员,您应该能够深入元组并执行类似 item.fileinfo.size 的操作。所有的从元组中选择正确项目的信息是可推导的给口译员。但是,如果您确实尝试类似的事情item.fileinfo.size 你会得到(几乎是预料之中的)属性错误。

我可以创建一个由命名元组组成的命名元组,但这有一点代码味道。

我想知道除了索引或解包之外,是否有一种更Pythonic的方式来访问元组的成员。有没有某种速记符号,以便您向口译员传达以下哪一项您必须引用元组的元素(因为其他元素都没有选项将适合模式)?

这是一件很难解释的事情,而我因忽略这一点而闻名关键部分。因此,如果急救人员需要更多信息,请请告诉我,我会尝试更全面地描述这个想法。

最佳答案

你真的想这样做:

Item = namedtuple('Item', 'PosixPath tagtypes fileinfo')

item = Item(PosixPath('/mnt/dson/Music/iTunes/iTunes Music/funtoons.mp3'), tagtypes(txt=False, word=False, ebook=False, image=False, exe=False, iso=False, zip=False, raw=False, audio=True, music=True, photoshop=False, video=False, src=False, geek=False, pdf=False, appledouble=False, dot=False), fileinfo(size=13229145, datetime=1333848240.0))

如果它允许您执行 item.fileinfo.sizeitem[2].size ,那么不值得吗?那是相当干净的。它避免了手动创建类,并以清晰简洁的方式为您提供所有功能。对我来说似乎是相当不错的 python 。

关于python - 我有一个 python 命名元组。除了通过索引或解包之外,还有其他方法可以访问单个成员吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33178853/

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