gpt4 book ai didi

元组的 Python 列表,需要解包和清理

转载 作者:太空宇宙 更新时间:2023-11-03 12:21:32 24 4
gpt4 key购买 nike

假设您有一个列表,例如

x = [('Edgar',), ('Robert',)]

仅获取字符串 'Edgar''Robert' 的最有效方法是什么?

例如,并不是真的想要 x[0][0]。

最佳答案

简单的解决方案,在大多数情况下速度最快。

[item[0] for item in x]
#or
[item for (item,) in x]

或者,如果您需要一个功能接口(interface)来索引访问(但速度稍慢):

from operator import itemgetter

zero_index = itemgetter(0)

print map(zero_index, x)

最后,如果您的序列太小而无法存储在内存中,您可以迭代执行此操作。这在集合上要慢得多,但只使用一个项目的内存。

from itertools import chain

x = [('Edgar',), ('Robert',)]

# list is to materialize the entire sequence.
# Normally you would use this in a for loop with no `list()` call.
print list(chain.from_iterable(x))

但是如果你要做的只是迭代,你也可以只使用元组解包:

for (item,) in x:
myfunc(item)

关于元组的 Python 列表,需要解包和清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16304358/

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