这个怎么解释,这两个的输出不应该是一样的吗
r = ["qte","f","10235","true"]print(r)
b=a=""
fori in r:
a=a+i
b=i+b
print(a,b)
这一段代码a的输出是qtef10235true,但是b的输出却是true10235fqte
两个都是从空字符串开始让每个r中的元素相加,为什么会反过来呢? a = a + i
新的元素 i 靠后,每次都被添加到 a 的后面,所以,越靠后,元素越新(正序)
b = i + b
新的元素 i 靠前,每次都被添加到 b 的前面,所以,越靠前,元素越新(逆序)
这就是 2 种加法的区别。 本帖最后由 小伤口 于 2020-12-24 10:20 编辑
r = ["qte","f","10235","true"]
b=a=""
fori in r:
a=a+i
print('a:',a)
b=i+b
print('b:',b)
print(a,b)
a: qte
b: qte
a: qtef
b: fqte
a: qtef10235
b: 10235fqte
a: qtef10235true
b: true10235fqte
qtef10235true true10235fqte
先分析a
第一次 qte
第二次因为a在前之前a为qte
所以第二次为qtef如此往复
分析b:
第一次 qte
第二次因为i在前所以f在前 qte在后
为fqte如此往复具体见上面代码 小伤口 发表于 2020-12-23 21:44
先分析a
第一次 qte
第二次因为a在前之前a为qte
懂了谢谢 jackz007 发表于 2020-12-23 21:43
新的元素 i 靠后,每次都被添加到 a 的后面,所以,越靠后,元素越新(正序)
...
谢谢
页:
[1]