为连接字符python赋值

时间:2015-02-18 21:17:58

标签: python shell scripting

我正在尝试解决一个问题,即为变量赋值是很方便的,变量本身就是两个字符串的串联。显然,我收到了错误:

SyntaxError: can\'t assign to operator

我试图使其成功的部分代码:

char1 = 'a'
char2 = 'b'

char1+char2 = [element1,element2]

我正在尝试将列表分配给名为ab的新变量。我为我的天真而道歉。建议好吗?

3 个答案:

答案 0 :(得分:5)

可以按照您的要求进行操作,但不建议这样做。相反,使用字典来保存您在运行中创建其名称的变量:

mydict = {}
char1 = 'a'
char2 = 'b'

mydict[char1+char2] = [1, 2]
print(mydict)

这导致:

{'ab': [1, 2]}

如您所见,字典现在有一个键ab,您的值已分配。如果要访问此变量,请使用mydict['ab']

又一种方法

也可以使用动态创建的名称为类实例分配属性。例如:

class A(object):
    pass

a = A()
setattr(a, char1+char2, [3, 4])
print(a.ab)

这将打印:

[3, 4]

属性也可以通过动态构建的名称访问:

print(getattr(a, char1+char2))

打印:

[3, 4]

答案 1 :(得分:2)

这是我可以看到的一种方式:

>>> c1 = 'a'
>>> c2 = 'b'
>>> vars = {}
>>> vars[c1+c2] = [1,2,3,4]
>>> print vars['ab']
[1, 2, 3, 4]

答案 2 :(得分:1)

看起来你只是在第三个变量上翻了你的逻辑。构建变量列表,然后分配一个新变量来连接该列表。 像这样:

char1 = ('a')
char2 = ('b')

char3 = char1 + char2

print char3