Python 菜鳥在這里。
我想使用 forloop 創建一堆串列。
它們都需要以 l1、l2、l3、l4 等形式出現。
我正在嘗試使用以下代碼,但不斷收到錯誤訊息“SyntaxError:無法分配給函式呼叫”
以下是代碼,任何幫助將不勝感激。
rets = [1,2,3,4,5,6,7,8,9,10]
for i in range(0, len(rets)-1):
object("L", str(i)) = [0]*(len(rets)-i)
所以物件需要是重復0的串列。長度應該減少i。例如,最后一個物件的長度為 1。
我相信該錯誤與串列名稱有關,但我無法修復它。
uj5u.com熱心網友回復:
您要實作的是創建變數名稱(L1、L2 等),這無法像您那樣通過創建物件來完成,而且我不知道有任何方法可以在外部動態創建像這樣的變數名稱PHP ??。
例如,您可以將所有變數存盤在串列中。然后,您可以使用簡單的 for 回圈提取這些值。
rets = [1,2,3,4,5,6,7,8,9,10]
values = []
for i in range(0, len(rets)-1):
values.append([0]*(len(rets)-i))
for value in values:
# Do something with value
您可以使用串列推導來獲得更簡潔的語法:
rets = [1,2,3,4,5,6,7,8,9,10]
values = [[0]*(len(rets)-i) for i in range(1, len(rets)-1)]
uj5u.com熱心網友回復:
由于我沒有正確回答問題,因此我將盡我所能提供幫助,因此,如果您想獲得范圍內的零串列,可以使用以下代碼
rets = [1,2,3,4,5,6,7,8,9,10]
list_of_lists = []
for item in rets:
list_of_lists.append([0]*item)
它會給你以下輸出;
[[0], [0, 0], [0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
如果你想實作類似 ["L1,L2"] 的東西,你可以使用下面的代碼片段;
for times in rets :
added_list_here = []
for i in range(times) :
added_list_here.append(f'L{i}')
list_of_lists.append(added_list_here)
它會給你以下輸出;
[['L0'],['L0','L1'],['L0','L1','L2'],['L0','L1','L2','L3'],[ 'L0'、'L1'、'L2'、'L3'、'L4']、['L0'、'L1'、'L2'、'L3'、'L4'、'L5']、['L0' ','L1','L2','L3','L4','L5','L6'],['L0','L1','L2','L3','L4','L5 ','L6','L7'],['L0','L1','L2','L3','L4','L5','L6','L7','L8'],[ 'L0'、'L1'、'L2'、'L3'、'L4'、'L5'、'L6'、'L7'、'L8'、'L9']]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/488471.html
上一篇:如何在Python中為多個ML分類器和資料庫實作重采樣配對t檢驗
下一篇:我們使用terraform創建了okta_users和okta_groups。但我無法獲取特定的用戶ID和組ID
