簡體   English   中英

如何將列表中的項目用作變量並為其賦值?

[英]How can I use items from list as variable and assign values to it?

我想使用 pandas 庫讀取多個 csv 文件,並且我想使用 for 循環將 dataframe 分配給列表中的項目。 目前我有兩個列表(一個列表包含 dataframe 名稱,第二個列表包含數據框)我正在使用以下代碼,例如:

list1 = ['amol', 'ankit', 'akshay', 'ashok'] # in actual there are 100+ items in the list
marks = [50, 60, 70, 80]   # marks list actully contains dataframe - pandas.core.frame.DataFrame

for ind, name in enumerate(list1):
    name = marks[ind]
print(amol)

# NameError: name 'amol' is not defined.

這不是為 'amol' 賦值並給出“NameError: name 'amol' is not defined”。

我嘗試使用字典。

list1 = ['amol', 'ankit', 'akshay', 'ashok']
marks = [50, 60, 70, 80]

mark_dict = {}

for ind, name in enumerate(list1):
    mark_dict[name] = marks[ind] 
print(mark_dict['amol'])

字典正在工作,但我想為“amol”賦值,因此可以執行下面的代碼並給我一個 output(在實際項目中它應該返回數據幀)。 請建議我該怎么做?

print(amol) 

您可以使用globals()將變量添加到模塊的全局命名空間。 zip將把這兩個列表變成匹配元組(list1[0], marks[0])等的迭代器... globals().update像常規的dict.update一樣工作,因此可以將這些元組直接輸入其中進行更新命名空間。

list1 = ['amol', 'ankit', 'akshay', 'ashok'] # in actual there are 100+ items in the list
marks = [50, 60, 70, 80]

globals().update(zip(list1, marks))
print(amol)

這不是一件常見的事情。 通常,人們會將動態生成的數據保存在字典中。

暫無
暫無

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

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