簡體   English   中英

可以將分配作為 python 列表理解的一部分進行嗎?

[英]Can assignments be made as part of python list comprehension?

可以使用列表推導代替下面的 for 循環嗎?

shod_l = list() # Initialize a list for empty pd.DataFrames that will be used later for merging of api query results

for q in range(len(shod_list)): #shod_list is a list containing several strings
    q = pd.DataFrame()
    shod_l.append(q)

您可以像這樣使用列表理解(因為您在循環內的分配沒有效果):

shod_l = [pd.DataFrame() for _ in range(len(shod_list))]

您需要做的就是:

shod_l = [pd.DataFrame() for _ in shod_list]

或者如果使用變量q

shod_l = [pd.DataFrame() for q in shod_list]

或者如果您決定使用范圍:

shod_l = [pd.DataFrame() for q in range(len(shod_list))]

要回答標題問題,是的,可以使用賦值表達式 等效循環將是

shod_l = [q := pd.DataFrame() for _ in range(len(shod_list))]

但正如其他答案中所述,綁定q沒有意義,因此在這種特殊情況下,不需要分配。

暫無
暫無

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

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