[英]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.