簡體   English   中英

將整數列表分為兩個列表的最佳方法?

[英]Best way to divide a list of integers into two list?

所以我今天正在編寫一段代碼,我想知道是否有任何“更輕松”的方法將列表分為兩部分而不知道列表的長度。 這是我所做的:

#say that myList = [0,1,2,3,4,5,6]

tran = 0
L1 = []
L2 = []
while (len(myList) > 0):
    tran = myList.pop(0)
    L1.append(tran)
    if (len(myList) > 0):
        tran = myList.pop(0)
        L2.append(tran)

我還要提及的是,我希望每個列表輪流從myList中獲取第一個值。 我想從這個例子中得到的結果是:

L1 = [0,2,4,6]
L2 = [1,3,5]

您可以對切片執行以下操作:

>>> mylist = range(7)
>>> mylist
[0, 1, 2, 3, 4, 5, 6]
>>> a,b = mylist[::2],mylist[1::2]
>>> a
[0, 2, 4, 6]
>>> b
[1, 3, 5]

這個怎么樣 :

>>> dd = defaultdict(list)
>>> z = [ dd[x].append(y) for x,y in [(('a',i),('b',i))[i % 2] for i in range(1,10)] ]
>>> dd.items()
[('a', [2, 4, 6, 8]), ('b', [1, 3, 5, 7, 9])]
>>>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM