簡體   English   中英

將列表附加到列表

[英]Appending lists to a list

我有一個列表I3 我正在通過I4執行索引操作並根據I3的長度進行附加。 介紹了當前和預期的產出。

I3 = [[(0, 0), (0, 1)], [(0, 0), (1, 0)], [(0, 1), (1, 1)], [(1, 0), (1, 1)]]

for t in range(0,len(I3)):
    I4 = [(j, -i) for i, j in I3[t]]
    I4.append(I4)
    print("I4 =",I4)

當前輸出為:

I4 = [(0, 0), (1, 0), [...]]
I4 = [(0, 0), (0, -1), [...]]
I4 = [(1, 0), (1, -1), [...]]
I4 = [(0, -1), (1, -1), [...]]

預期的輸出是:

I4 = [[(0, 0), (1, 0)],[(0, 0), (0, -1)],[(1, 0), (1, -1)],[(0, -1), (1, -1)]]

注意I4.append(I4)I4 = [(0, 0), (1, 0), [...]] 您正在將一個列表附加到其自身的末尾。 那是遞歸的。 嘗試將其附加到一個空列表。

I3 = [[(0, 0), (0, 1)], [(0, 0), (1, 0)], [(0, 1), (1, 1)], [(1, 0), (1, 1)]]

temp = []
for t in range(0,len(I3)):
    I4 = [(j, -i) for i, j in I3[t]]
    temp.append(I4)
    print("I4 =",temp)

結果是

I4 = [[(0, 0), (1, 0)]]
I4 = [[(0, 0), (1, 0)], [(0, 0), (0, -1)]]
I4 = [[(0, 0), (1, 0)], [(0, 0), (0, -1)], [(1, 0), (1, -1)]]
I4 = [[(0, 0), (1, 0)], [(0, 0), (0, -1)], [(1, 0), (1, -1)], [(0, -1), (1, -1)]]

這是一個班輪

I4 = [[(j, -i), (l, -k)] for (i, j), (k, l) in I3]

暫無
暫無

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

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