Python中的二维列表操作
我试图获取一个2D列表,将用户给定的编号添加到每个子列表的第一个编号中,并将子列表的第二个编号作为输出。然后使用单独的功能打印整个2D列表。到目前为止,这是我能解决的所有问题。我不知道如何使索引与循环一起正常工作,因此我还没有将显示函数放入其中,因为我无法正确获得输出。非常感谢您的帮助!我正在使用Python 3.3Python中的二维列表操作,python,Python,我试图获取一个2D列表,将用户给定的编号添加到每个子列表的第一个编号中,并将子列表的第二个编号作为输出。然后使用单独的功能打印整个2D列表。到目前为止,这是我能解决的所有问题。我不知道如何使索引与循环一起正常工作,因此我还没有将显示函数放入其中,因为我无法正确获得输出。非常感谢您的帮助!我正在使用Python 3.3 ROWS = 5 COLS = 2 def main(): num1 = int(input('Type a whole number and press ENTER:
ROWS = 5
COLS = 2
def main():
num1 = int(input('Type a whole number and press ENTER: '))
values = [[10, 0],
[13, 0],
[36, 0],
[74, 0],
[22, 0]]
for r in range(ROWS):
add = values[0] + num1
for c in range(COLS):
c = add
print(c)
input('press enter to continue')
main()
当前循环存在一些问题:
for r in range(ROWS): # r is assigned to values 0 to 4 in turn (but never used)
add = values[0] + num1 # TypeError - can't add integer to (sub-)list
for c in range(COLS): # c is assigned to values 0 to 1 in turn
c = add # c is reassigned to add's value
这不会尝试更新列表,并使用不必要的硬编码值(行
和列
)。最基本的解决方案是:
for r in range(ROWS):
add = values[r][0] + num1 # note [r]
for c in range(COLS):
values[r][c] = add
但更整洁的是:
for row in values:
add = row[0] + num1
for index in range(len(row)):
row[index] = add
这将使用第一个值加上用户的整数更新所有值。要在开始时保留第一个整数,请使用范围(1,COLS)
/范围(1,len(row))