对于字符串 'ABC' 和 '123',可以使用两层循环,生成全排列:>>> [m + n for m in 'ABC' for n in '123']
['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']
这个列表中的元素是字符串, 字符串通过相加,即如print 'a' + '1', 结果为a1; 同样,printf 'a'
+ '1' + '2' , 结果为a12
百位的循环从 1-9,十位和个位的循环从 0-9。
参考代码:print [100 * n1 + 10 * n2 + n3 for n1 in range(1, 10) for n2 in range(10) for n3 in range(10) if n1==n3]
而题目列表中的元素是整数,对于数值来说,不存在这种用法。
对于你说的将例子中ABC改为123,虽然打印出来可以得出相同结果,但实际上你无法将字符串进行算术运算,编译器会报错。