Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的二维列表操作_Python - Fatal编程技术网

Python中的二维列表操作

Python中的二维列表操作,python,Python,我试图获取一个2D列表,将用户给定的编号添加到每个子列表的第一个编号中,并将子列表的第二个编号作为输出。然后使用单独的功能打印整个2D列表。到目前为止,这是我能解决的所有问题。我不知道如何使索引与循环一起正常工作,因此我还没有将显示函数放入其中,因为我无法正确获得输出。非常感谢您的帮助!我正在使用Python 3.3 ROWS = 5 COLS = 2 def main(): num1 = int(input('Type a whole number and press ENTER:

我试图获取一个2D列表,将用户给定的编号添加到每个子列表的第一个编号中,并将子列表的第二个编号作为输出。然后使用单独的功能打印整个2D列表。到目前为止,这是我能解决的所有问题。我不知道如何使索引与循环一起正常工作,因此我还没有将显示函数放入其中,因为我无法正确获得输出。非常感谢您的帮助!我正在使用Python 3.3

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))