我是Python的新手,我试图理解一些基本的东西。 我有这段代码:
def mix_up(a, b):
a,b=b[0:2]+a[2:], a[0:3]+b[3:]
print (a,b)
mix_up("abcd","efgh")
为什么b没有得到" new" 3个字母a(即" efch")?是否优雅地在一行中完成,或者我必须使用其他变量?
谢谢!
答案 0 :(得分:0)
它不起作用的原因是因为赋值(=
的左侧)仅在评估整个右侧之后发生。
因此,您的a
和b
仍然是" old" 1}}和a
在声明中,而不是新的。
要修复它,只需将其拆分为两个语句:
b