为连接的字符赋值 python
Assigning value to concatenated characters python
我正在尝试解决一个问题,可以方便地为变量赋值,变量本身就是两个字符串的串联。显然,我得到了错误:
SyntaxError: can\'t assign to operator
我试图让它工作的部分代码:
char1 = 'a'
char2 = 'b'
char1+char2 = [element1,element2]
我正在尝试将一个列表分配给一个名为 ab 的新变量。我为我的天真道歉。有什么建议吗?
可以按照您的要求进行操作,但不建议这样做。相反,使用字典来保存您动态创建的名称的变量:
mydict = {}
char1 = 'a'
char2 = 'b'
mydict[char1+char2] = [1, 2]
print(mydict)
这导致:
{'ab': [1, 2]}
如您所见,字典现在有一个键 ab
,其中分配了您的值。当你想访问这个变量时,使用 mydict['ab']
.
又一个方法
也可以将动态创建的名称分配给 class 实例属性。例如:
class A(object):
pass
a = A()
setattr(a, char1+char2, [3, 4])
print(a.ab)
这将打印:
[3, 4]
也可以通过动态构造的名称访问属性:
print(getattr(a, char1+char2))
打印:
[3, 4]
这是我看到的一种方法:
>>> c1 = 'a'
>>> c2 = 'b'
>>> vars = {}
>>> vars[c1+c2] = [1,2,3,4]
>>> print vars['ab']
[1, 2, 3, 4]
看起来你只是在第三个变量上翻转了逻辑。构建您的变量列表,然后分配一个新变量来连接该列表。
像这样:
char1 = ('a')
char2 = ('b')
char3 = char1 + char2
print char3
我正在尝试解决一个问题,可以方便地为变量赋值,变量本身就是两个字符串的串联。显然,我得到了错误:
SyntaxError: can\'t assign to operator
我试图让它工作的部分代码:
char1 = 'a'
char2 = 'b'
char1+char2 = [element1,element2]
我正在尝试将一个列表分配给一个名为 ab 的新变量。我为我的天真道歉。有什么建议吗?
可以按照您的要求进行操作,但不建议这样做。相反,使用字典来保存您动态创建的名称的变量:
mydict = {}
char1 = 'a'
char2 = 'b'
mydict[char1+char2] = [1, 2]
print(mydict)
这导致:
{'ab': [1, 2]}
如您所见,字典现在有一个键 ab
,其中分配了您的值。当你想访问这个变量时,使用 mydict['ab']
.
又一个方法
也可以将动态创建的名称分配给 class 实例属性。例如:
class A(object):
pass
a = A()
setattr(a, char1+char2, [3, 4])
print(a.ab)
这将打印:
[3, 4]
也可以通过动态构造的名称访问属性:
print(getattr(a, char1+char2))
打印:
[3, 4]
这是我看到的一种方法:
>>> c1 = 'a'
>>> c2 = 'b'
>>> vars = {}
>>> vars[c1+c2] = [1,2,3,4]
>>> print vars['ab']
[1, 2, 3, 4]
看起来你只是在第三个变量上翻转了逻辑。构建您的变量列表,然后分配一个新变量来连接该列表。 像这样:
char1 = ('a')
char2 = ('b')
char3 = char1 + char2
print char3