3

私は今のようなリストを持っています。mylist = [1,2,3,4,5,6]このリストをループして、このような3つの新しいリストを作成する必要があります

 new1 = [1,4]
 new2 = [2,5]
 new3 = [3,6]

これを行う最も簡単な方法は何ですか?

4

2 に答える 2

9

スライスを使用する:

>>> mylist = [1,2,3,4,5,6]
>>> mylist[::3]
[1, 4]
>>> mylist[1::3]
[2, 5]
>>> mylist[2::3]
[3, 6]

>>> lis = range(1,21)
>>> new1, new2, new3 = [lis[i::3] for i in xrange(3)]
>>> new1
[1, 4, 7, 10, 13, 16, 19]
>>> new2
[2, 5, 8, 11, 14, 17, 20]
>>> new3
[3, 6, 9, 12, 15, 18]

スライスに慣れていない場合は、よく読んでください: Python のスライス表記について説明します。

于 2013-06-08T10:08:31.197 に答える