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