python中想要更改二维列表中某个元素的值
list=[[1,2,3],[4,5,6],[7,8,9]] #初始化一个二维列表
n=int(input()) #输入一个数,使二维列表中的每一个值都乘以该数。
for i in range(0,3): #双重循环进行遍历并更改。
for j in range(0,3):
list[i][j]=list[i][j]*n
print(list)
这是第一次试的代码,但是得到的结果却出错
当我输入2时,结果为以下:
2
[['2', '22', '222'], ['2222', '22222', '222222'], ['2222222', '22222222', '222222222']]
但是如果更改了双重循环里的语句,结果就正确了,这是为什么
list=[[1,2,3],[4,5,6],[7,8,9]]
n=int(input())
for i in range(0,3):
for j in range(0,3):
list[i][j]*=n
print(list)
这里输入2
正确结果为:
2
[[2, 4, 6], [8, 10, 12], [14, 16, 18]]
这两段代码输出是一样的,之所以会出现第一种结果是因为第一段代码list列表中的元素是字符型不是数字型
这可以根据第一段代码的输出看出。(输出的数字带有引号是字符型)
我复制你的代码去运行两个的结果都一样耶
你python什么版本?3.x亲测正常
非常感谢,其实就是我第一个输入n的时候忘记类型转换了