给连结的字符赋值python

2024-04-25 03:57:13 发布

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

我试图解决一个问题,在这个问题上,给一个变量赋值是很方便的,它本身就是两个字符串的串联。显然,我得到了一个错误:

SyntaxError: can\'t assign to operator

我正在努力使其工作的部分代码:

char1 = 'a'
char2 = 'b'

char1+char2 = [element1,element2]

我试图给一个名为ab的新变量分配一个列表。我为我的天真道歉。有什么建议吗?你知道吗


Tags: to字符串代码列表ab错误operatorcan
3条回答

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

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

char3 = char1 + char2

print char3

我能想到一个办法:

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

可以按你的要求做,但不建议这样做。相反,使用字典来保存您动态创建的变量名称:

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]

相关问题 更多 >