可能重复:
How can I use a string with the same name of an object in Python to access the object itself?
我正在尝试根据匹配结果将名称更改为变量...
inds_EUR = [whatever]
inds_AFR = [foo]
inds_ASN = [other]
pop=inds_EUR ##imagine this is the case
for pp in ('EUR', 'AFR', 'ASN'):
if pp in pop:
paap='inds_'+str(pp)
break
foos=eval(paap)
我正在尝试的是将“foos”设置为传递给此表达式的列表
matches = [item for item in inds_vcf if item in foos]
它有效,但不知道使用这个eval()表达式是否危险,这里可能是因为它可能是使用vars() 我是以正确的方式做到的吗?
提前致谢,
PEIXE
答案 0 :(得分:7)
使用字典:
inds = {'EUR': [whatever],
'AFR': [foo],
'ASN': [other]}
foos = inds['EUR']