将字符串添加到字母python的末尾

时间:2014-07-30 07:47:24

标签: python numpy scipy

如何在python中执行以下操作;

for i in range(4):
  s_i = 3

所以我得到了

s_0 = 3
s_1 = 3
s_2 = 3
s_3 = 3

3 个答案:

答案 0 :(得分:6)

Keep data out of your variable names.如果你想要编号变量,你真的需要一个列表:

s = [3] * 4

然后您可以使用索引表示法访问元素:

s[2] = 5

而不是尝试动态构建变量名。

如果你想要更通用的动态命名变量,比如名字来自用户输入的变量,你真的需要一个字典:

parents = {}
for i in xrange(5):
    child = raw_input('Enter child name:')
    parent = raw_input('Enter parent name:')
    parents[child] = parent

答案 1 :(得分:1)

我没有完全回答你的问题。但我试过这个:

for i in range(4):
    exec('s_'+str(i) + '=i')

Out Put :
    s_0 = 0
    s_1 = 1
    s_2 = 2
    s_3 = 3

我们正在创建4个变量并为其赋值。

答案 2 :(得分:1)

虽然以下有效,但这似乎是一个非常非常糟糕的主意:

>>> for j in range(4):
...     globals()['s_{}'.format(j)] = 3
...
>>> s_0
3
>>> s_1
3
>>> s_2
3
>>> s_3
3

编辑locals()替换globals()。根据{{​​1}}的{​​{1}}:

  

不应修改此词典的内容;变化可能   不影响使用的局部和自由变量的值   解释