如何在python中通过遍历for循环动态构建变量

2024-03-29 14:28:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一堆变量在下面。现在,我想通过遍历for循环动态地构建一个变量,如下所示,但令人惊讶的是,它不能像以前那样工作。格式只能用于字符串。有没有人能分享一下你的想法,比如如何在Py中实现这一点?任何帮助都将不胜感激。谢谢您!你知道吗

build_a="123"
build_b="456"
build_c="789"

build_src = ['a','b','c']
build_list = {}

for word in build_src:
    build_list[word] = build_{word}.format(word=word)

Tags: 字符串inpybuildsrcformatfor格式
3条回答

一本字典可能更适合你想要达到的目标。你知道吗

builds = {'a': "123", 'b': "456", 'c': "789"}
build_src = ['a','b','c']
build_list = {}
for word in build_src:
    build_list[word] = builds.get(word, None)
print build_list

输出: {'a': '123', 'c': '789', 'b': '456'}

你可以这样使用:

build_a="123"
build_b="456"
build_c="789"

build_src = ['a','b','c']
build_list = {}

for word in build_src:
    globals()['build_new_var%s' % word] = word

它会给你想要的东西,像这样:

print(build_new_var_a)
print(build_new_var_b)

输出为:

a
b

但是使用字典是一个更好的解决方案,但是如果你因为某种特殊的原因需要它,你也可以这样做。你知道吗

这就是你想要的:

build_src = ['a','b','c']
build_list = {}

for word in build_src:
    build_list[word] = 'build_'+word.format(word=word)
print(build_list)

输出:

{'a': 'build_a', 'b': 'build_b', 'c': 'build_c'}

相关问题 更多 >