【问题标题】:How to get the last list of list.append(i) iteration如何获取 list.append(i) 迭代的最后一个列表
【发布时间】:2018-02-01 18:56:23
【问题描述】:

我使用 for 迭代来生成一个列表。但我得到的清单不止一份。我想获得最后一个列表的最大值。我需要做什么?

list1 = []
for i in range(1,21):
    list1.append(sh600004['high'][i])
    print(list1)

我试过了 max(list1) 但我只得到每个列表的最大值。我尝试了list1[-1],它给了我每个列表的最后一个值。如何获得最终列表的最大值?

这是输出:

【问题讨论】:

  • 为什么每次循环都打印列表?
  • 你只建立一个列表;你只是在把东西放进去的时候一遍又一遍地打印它。
  • 删除最后一行的缩进。 max(list1) 应该与 for 的缩进级别相同。不确定这是否是您要求的。
  • 如果我只是 max(list1),我会得到我需要的吗?
  • 试试max(sh600004['high'][i] for i in range(1, 21))

标签: python python-2.7 list numpy append


【解决方案1】:

您添加到 list1 末尾的 sh600004['high'][i] 是一个数字,而不是列表本身。因此,在您的 for 循环结束时,您将只有 1 个名为 list1 的列表。要获得 list1 的最大值,您需要在 for 循环之外执行 max(list1) 。即

list1 = []
for i in range(1,21):
    list1.append(sh600004['high'][i])

print max(list1)

【讨论】:

    猜你喜欢
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    相关资源
    最近更新 更多