如何使用for循环将返回值分配给变量
Posted
技术标签:
【中文标题】如何使用for循环将返回值分配给变量【英文标题】:how to assign returned values into a variable using for loop 【发布时间】:2021-02-23 09:28:13 【问题描述】:我有一个代码返回数据框中每列的最大值,直到现在它返回正确项目的列表。
我想要的是将每个项目分配给一个变量,该变量是在列表的 for 循环内创建的。
预期结果:
var1=item0 var2=item1 var3=item2其中 var 是通过列表迭代创建的变量。
如果我运行下面的代码,它会崩溃并返回此错误:
for i, l in lgdf:
TypeError: cannot unpack non-iterable int object
代码:
import pandas as pd
grouped_df=pd.crosstab(df['year_month'], df['event_type'])
lgdf = list(grouped_df.max())
i = 0
for i, l in lgdf:
var[i]=l
print(var)
【问题讨论】:
列表是项目列表的完美存储,为什么您需要单独的变量呢?不过,请参阅此问题以遍历具有索引的列表:***.com/questions/522563/… 因为我想在不同的标签中显示每个变量,但我不知道创建了多少变量,所以我想遍历列表 您的代码不完整。df
是什么,var
声明在哪里?这段代码不会运行。
【参考方案1】:
虽然我同意@Wups 的评论,即将值存储在列表(或字典)中也可以,但您可以执行以下操作以在 for 循环中创建变量。
for i, l in lgdf:
exec(f'var_i = l')
【讨论】:
以上是关于如何使用for循环将返回值分配给变量的主要内容,如果未能解决你的问题,请参考以下文章