gpt4 book ai didi

由不同列表组成的python集合理解

转载 作者:行者123 更新时间:2023-11-28 20:45:56 25 4
gpt4 key购买 nike

expected = {
'l1': ['abc', 'def', 'ghi', 'jkl'],
'l2': ['abc', 'ghi', 'jkl', 'mno']
}

我想使用 python 2.6+ 获取 set(['abc', 'def', 'ghi', 'jkl', 'mno'])(所以 {x for x in ...} 不是我想要的)。

我试过了

all_files = set(files for files in expected.values())

但它抛出:

TypeError: unhashable type: 'list'

最佳答案

>>> expected = {
... 'l1': ['abc', 'def', 'ghi', 'jkl'],
... 'l2': ['abc', 'ghi', 'jkl', 'mno']
... }
>>> set(f for files in expected.itervalues() for f in files)
set(['jkl', 'abc', 'ghi', 'def', 'mno'])

或使用 itertools.chain.from_iterable :

>>> from itertools import chain
>>> set(chain.from_iterable(expected.itervalues()))
set(['jkl', 'abc', 'ghi', 'def', 'mno'])

顺便说一句,使用 dict.itervalues而不是 dict.values .您不需要一次列出所有这些。

关于由不同列表组成的python集合理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22036612/

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