首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python中使用列表中的名称在循环中创建新变量

在Python中使用列表中的名称在循环中创建新变量
EN

Stack Overflow用户
提问于 2012-07-04 06:09:54
回答 3查看 23.6K关注 0票数 5

如何从列表中创建带有名称的新变量?这一点:

代码语言:javascript
复制
name = ['mike', 'john', 'steve']   
age = [20, 32, 19]  
index = 0

for e in name:
    name[index] = age[index]
    index = index+1

当然不起作用。我该怎么办?

我想这样做:

代码语言:javascript
复制
print mike
>>> 20

print steve
>>> 19
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-04 06:14:00

我认为dictionaries更适合用于此目的:

代码语言:javascript
复制
>>> name = ['mike', 'john', 'steve']   

>>> age = [20, 32, 19] 

>>> dic=dict(zip(name, age))

>>> dic['mike']
20
>>> dic['john']
32

但是,如果您仍然希望动态创建变量,则可以使用globals()[]

代码语言:javascript
复制
>>> for x,y in zip(name, age):
    globals()[x] = y


>>> mike
20
>>> steve
19
>>> john
32
票数 12
EN

Stack Overflow用户

发布于 2018-06-29 04:51:20

代码语言:javascript
复制
name = ['mike', 'john', 'steve']   
age = [20, 32, 19] 
for i in range(len(name)):
    exec("%s = %d" %(name[i], age[i]))
print(mike)
print(john)
print(steve)
票数 0
EN

Stack Overflow用户

发布于 2019-06-09 17:34:56

字典是最好的选择!

代码语言:javascript
复制
import pandas as pd
import datetime
import pandas_datareader as dr

# Get data for this year, so far
start = datetime.datetime(2019,1,1)
end = datetime.datetime(2019,6,1)

companies = ['AA', 'AAPL', 'BA', 'IBM']
df_dict = {}
for name in companies:
    df_dict[name] = pd.DataFrame()
    df_dict[name] = dr.data.get_data_yahoo(name, start, end)

print()
print(' Apple dataframe ')
print(df_dict['AAPL'].head())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11319909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档