【问题标题】:Converting nested lists to parent lists将嵌套列表转换为父列表
【发布时间】:2018-11-12 11:57:24
【问题描述】:

所以,我只是想解决hackerrank.com上的一个问题

这是我的代码:

if __name__ == '__main__':
    N = int(input())
    num_list = []
    for numberOfCommands in range(N):
        command , * numbers = input().split(" ")
        numbers = [int(i) for i in numbers]
        print(numbers)
        if command == 'insert':
            num_list.insert(numbers[0],numbers[1:])
        elif command == 'print':
            print(num_list)
        else:
            num_list.command(numbers[0])

问题是当我打印list 时,它会打印嵌套列表。我想要的是创建一个ints 列表。

【问题讨论】:

  • 不要使用名称list,它已经指的是内置的list类型。 list.insert(numbers[0],numbers[1:]) 在索引 numbers[0] 处插入列表切片 numbers[1:]。这真的是你想要的吗?
  • 将名称列表更改为 num_list 但输出相同
  • 您能否添加(作为问题中的文本)您要解决的问题是什么?
  • 这能回答你的问题吗? How to make a flat list out of list of lists?

标签: python string python-3.x list int


【解决方案1】:

你可以像这样flatten a list of lists:

flat_list = [element for sublist in num_list for element in sublist]
print(flat_list)

或者使用内置的itertools.chain:

import itertools

list(itertools.chain.from_iterable(num_list))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    • 2017-11-28
    相关资源
    最近更新 更多