【问题标题】:Create a list of length n-1 in python在python中创建一个长度为n-1的列表
【发布时间】:2018-08-29 21:41:02
【问题描述】:

我有一个现有的列表,例如

months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]

len(months) 在本例中等于 6。

如果我要创建一个与月份长度相同的空列表,我会使用:

newList = [[] for i in months]

这会给我:

[[], [], [], [], [], []]

我想创建一个新的空列表,其中包含比原始数组少 1 项的内容。这样新数组的长度就是len(months) - 1

【问题讨论】:

  • newList = [[] for i in months] 不是长度为 6 的空列表 - 它是 6 个列表的列表。没有长度为 6 的空列表。空列表的长度为 0。您真正想要做什么?
  • newList = [[] for i in range(len(months)-1)]
  • @zvone,你是对的。我没有正确解释自己。它正在创建一个包含 6 个列表的列表。相反,我想创建一个包含 5 个空列表的列表。我基本上已经创建了 6 个列表,然后在另一行中,我删除了其中一个元素。

标签: python empty-list


【解决方案1】:

您可以从月份数组的长度中删除 1。

months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"] 
[[] for m in range(len(months)-1)]

另一种选择可能是使用数组切片和负索引来获取前 n-1 个元素。

[[] for m in months[:-1]]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-13
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多