【问题标题】:Python: list manipulation from return functionPython:来自返回函数的列表操作
【发布时间】:2014-10-27 17:02:08
【问题描述】:

在我的代码中,我试图将嵌套列表中的所有第二行除以变量。这很好用,但它要求列表中每个项目的变量而不是一次。

这是我的代码:

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

【问题讨论】:

    标签: python return list-manipulation


    【解决方案1】:
    nlist[1] = [num / divide() for num in nlist[1]]
    

    divide() 每次都会被调用。使用

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

    只调用一次并存储它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-30
      • 1970-01-01
      • 1970-01-01
      • 2017-07-22
      • 2017-06-21
      • 1970-01-01
      • 2013-10-22
      • 2019-07-23
      相关资源
      最近更新 更多