首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从变量设置变量?

从变量设置变量?
EN

Stack Overflow用户
提问于 2012-09-30 09:02:57
回答 2查看 97关注 0票数 0

我有很多很多的字符串,格式都是这样的:"lot1","lot2",“lot3”……我想要做的是使用一个函数参数来决定使用哪个变量。下面是一个伪示例:

代码语言:javascript
复制
def printlot(someInt):
    print lot%i % (someInt)

基本上,我希望使用多个字符串来形成另一个要操作的字符串的名称。这看起来很简单,但在我学习Pythoning的两年中,我还没有学会如何做到这一点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-30 09:04:43

您可以使用vars内置函数将所有可见变量作为字典进行访问:

代码语言:javascript
复制
vars()['lot%d' % someInt]

可以使用globalslocals访问不同的作用域。

然而,请注意,这通常被认为是“非however”行为。与创建许多名称相似的变量不同,一种更具Pythonic风格的方法是创建一个列表或字典。

票数 1
EN

Stack Overflow用户

发布于 2012-09-30 09:09:03

nneonneo所说的是正确的,但你真的会想要明确地使用一个字典。也就是说,你想这样做:

代码语言:javascript
复制
lot_data = {'lot1': 10, 'lot2': 20, 'lot3': 30}
i = 2
print lot_data['lot%d' % i]

而不是这样:

代码语言:javascript
复制
lot1 = 10
lot2 = 20
lot3 = 30
i = 2
print vars()['lot%d' % i]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12657829

复制
相关文章

相似问题

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