-1

私のコードでは、ネストされたリストの 2 番目の行をすべて変数で除算しようとしています。これは正常に機能しますが、一度だけではなく、リストのすべての項目に対して変数を要求します。

これは私が持っているコードです:

nlist = [
    [1, 2, 3, 4],
    [5, 6, 7, 8],
    [9, 10, 11, 12],
]

def divide():
    x = int(input('what is your divider?:'))
    return x

nlist[1] = [num / divide() for num in nlist[1]]
print(nlist)

出力:

what is your divider?:5
what is your divider?:5
what is your divider?:5
what is your divider?:5
[[1, 2, 3, 4], [1.0, 1.2, 1.4, 1.6], [9, 10, 11, 12]]

私が出力したいもの:

what is your divider?:5
[[1, 2, 3, 4], [1.0, 1.2, 1.4, 1.6], [9, 10, 11, 12]]
4

1 に答える 1

3
nlist[1] = [num / divide() for num in nlist[1]]

divide()毎回呼び出されます。使用する

divide_value = divide()
nlist[1] = [num / divide_value for num in nlist[1]]

一度だけ呼び出して保存します。

于 2014-10-27T17:04:00.917 に答える