通过逆转另一个列表扩展列表的最pythonic方法是什么?

时间:2010-03-05 14:52:45

标签: list python reverse

我有一个列表,我想要切片,反转该切片并将每个项目附加到另一个列表的末尾。以下是我想到的选项(虽然如果你有其他人请分享),哪些是最pythonic?

# Option 1
tmp = color[-bits:]
tmp.reverse()
my_list.extend(tmp)

# Option 2
my_list.extend(list(reversed(color[-bits:])))

# Option 3
my_list.extend((color[-bits:])[::-1])

3 个答案:

答案 0 :(得分:3)

我喜欢

my_list.extend(reversed(color[-bits:]))

它解释了你在做什么(通过反向另一个列表的切片来扩展列表)并且也很短。

和强制性的itertools解决方案

my_list.extend( itertools.islice( reversed(color), 0, bits))

答案 1 :(得分:0)

my_list.extend(color[:-(bits + 1):-1])

答案 2 :(得分:0)

对于选项#2,您可以切断对list的呼叫。您也可以使用+=代替extend,如下所示:

my_list += reversed(color[-bits:])