Possible Duplicate:
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()一样
我做对了吗?

提前致谢,

佩克斯

最佳答案

使用字典:

inds = {'EUR': [whatever],
        'AFR': [foo],
        'ASN': [other]}

foos = inds['EUR']

关于python - 将字符串设置为变量名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9888467/

10-13 05:54