1

我有一个列表,我想取出一个切片,反转该切片并将这些项目中的每一个附加到另一个列表的末尾。以下是我想到的选项(如果你有其他的请分享),其中哪个是最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])
4

3 回答 3

4

我喜欢

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

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

和一个强制性的 itertools 解决方案

my_list.extend( itertools.islice( reversed(color), 0, bits))
于 2010-03-05T15:12:01.693 回答
0
my_list.extend(color[:-(bits + 1):-1])
于 2010-03-05T14:56:02.513 回答
0

对于选项 #2,您可以取消对list. 您也可以使用+=而不是extend,如下所示:

my_list += reversed(color[-bits:])
于 2010-03-05T15:01:05.993 回答