問(wèn)題可能令人困惑,所以這里有一個(gè)例子:我想從一個(gè)元組變成(a, b, c)一個(gè)列表[a, 1, b, 1, c, 1]。執(zhí)行此操作的最 Pythonic 方法是什么?[*(x, 1) for x in list]在意識(shí)到您無(wú)法在列表理解中解包之前,我嘗試了類似的方法。最好的方法是什么?我已經(jīng)搜索了一段時(shí)間,找不到任何有用的東西。
2 回答

收到一只叮咚
TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以在列表理解中“解包”,但不完全是那樣。使用另一個(gè)循環(huán)。
xs = (a, b, c)
[e for x in xs for e in (x, 1)]

泛舟湖上清波郎朗
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊
你可以使用itertools.chain.from_iterable
:
>>> from itertools import chain
>>> t = ('a', 'b', 'c')
>>> list(chain.from_iterable((x, 1) for x in t))
['a', 1, 'b', 1, 'c', 1]
但我個(gè)人更喜歡故障答案中的鏈?zhǔn)嚼斫饨鉀Q方案
添加回答
舉報(bào)
0/150
提交
取消