Python +=
运算符是否有变体而不是追加?
即。 x += 'text'
,而不是x+'text'
,'text'+x
。
修改
我正在尝试在程序的一部分中创建命令行,并且我不断收到错误:
Traceback (most recent call last):
File "./main.py", line 15, in <module>
a[0] = 'control/'+a[0]
TypeError: 'str' object does not support item assignment
代码段:
a = a.split()
# Command Line
if (a[0][0:1] == '!') and (len(a[0]) > 1):
a = a[0][1:] # remove evoker
if a == 'quit': break
else:
try:
a[0] += 'control/'+a[0]
subprocess.call(a)
except:
print("That is not a valid command.")
答案 0 :(得分:2)
没有前置运算符。
答案 1 :(得分:1)
这可能是您正在寻找的解决方案。
如果您使用自己的类,则可以定义覆盖__iadd__
的非常特殊的增量操作:
class My_str(str):
def __iadd__(self, other):
return other+self
ms = My_str('hello')
ms += 'world'
print(ms)
产生
worldhello
因此,使用列表中的这些元素,您可以执行类似
的操作>>> l = [My_str(i) for i in range(5)]
>>> l[1] += 'text'
>>> l
['0', 'text1', '2', '3', '4']
欢迎所有评论。