當我需要幾個相同的項目添加到我使用list.extend名單:list.extend和列表理解
a = ['a', 'b', 'c']
a.extend(['d']*3)
結果
['a', 'b', 'c', 'd', 'd', 'd']
但是,如何做列表相似理解?
a = [['a',2], ['b',2], ['c',1]]
[[x[0]]*x[1] for x in a]
結果
[['a', 'a'], ['b', 'b'], ['c']]
但我需要這一個
['a', 'a', 'b', 'b', 'c']
任何想法?
謝謝!它的作品,但我甚至不知道如何閱讀這個表達。 – Stas 2010-10-10 08:58:29
'for a中的x'每次將'a'的每個元素提取爲'x'。 '...中的y'從'x'創建一個新列表,並將其元素一次一個地提取到'y'中。這一切都發生在同一時間(或多或少),導致它們都處於相同的嵌套層次。 – 2010-10-10 09:00:56
它通常在解包時更加清楚:[y for(item,times)in y in [item] * times] – tokland 2010-10-10 09:05:00