【问题标题】:How to split a large list into rows?如何将大列表拆分为行?
【发布时间】:2020-06-27 12:46:39
【问题描述】:

我的清单有问题。我的任务是生成包含 10 个小列表和 10 个随机数的随机列表。我有一个正确的代码在一个大列表中生成 10x 随机列表,但现在我需要分隔每个较小的列表,因为每个列表都必须在新行中。

这是我的代码:

def generate_random_number_list_10(len_of_elements):
single_list_of_10_random_numbers=[]
for _variable_1 in range (len_of_elements):
    random_number=random.randint(1,100)
    single_list_of_10_random_numbers.append(random_number)
return single_list_of_10_random_numbers

def generate_random_number_list_10x10_1(amount_of_lists):
main_list=[]
for _variable_1 in range (amount_of_lists):
    singlelist=generate_random_number_list_10(5)
    main_list.append(singlelist)
print(main_list)
generate_random_number_list_10x10_1(10)

这是我的结果:

[[45, 35, 90, 12, 13, 80, 33, 17, 50, 47], [33, 92, 55, 26, 60, 51, 78, 62, 35, 3], [87, 79, 4, 10, 57, 8, 59, 75, 59, 85], [33, 15, 10, 100, 79, 74, 57, 46, 14, 37], [93, 15, 29, 35, 54, 24, 24, 39, 21, 62], [55, 90, 8, 33, 6, 29, 19, 5, 97, 93], [51, 27, 14, 18, 45, 29, 83, 94, 34, 91], [66, 92, 40, 36, 72, 46, 77, 77, 89, 64], [89, 84, 36, 14, 96, 81, 57, 65, 51, 56], [97, 100, 94, 58, 26, 18, 6, 1, 88, 46]]

但我需要这样的东西:

[45, 35, 90, 12, 13, 80, 33, 17, 50, 47]
[33, 92, 55, 26, 60, 51, 78, 62, 35, 3]
etc...

【问题讨论】:

    标签: python python-3.x list printing


    【解决方案1】:

    您可以解压它们并在print 中使用sep 参数。

    print(*list_of_lists,sep='\n')
    
    [45, 35, 90, 12, 13, 80, 33, 17, 50, 47]
    [33, 92, 55, 26, 60, 51, 78, 62, 35, 3]
    [87, 79, 4, 10, 57, 8, 59, 75, 59, 85]
    [33, 15, 10, 100, 79, 74, 57, 46, 14, 37]
    [93, 15, 29, 35, 54, 24, 24, 39, 21, 62]
    [55, 90, 8, 33, 6, 29, 19, 5, 97, 93]
    [51, 27, 14, 18, 45, 29, 83, 94, 34, 91]
    [66, 92, 40, 36, 72, 46, 77, 77, 89, 64]
    [89, 84, 36, 14, 96, 81, 57, 65, 51, 56]
    [97, 100, 94, 58, 26, 18, 6, 1, 88, 46]
    

    【讨论】:

    • 1) 但我需要一个由 10 个较小的列表组成的大列表 2) 如何在我的代码 main_list 中解压?
    • 在您的问题中,您提到您已经有一个列表列表。 这是我的结果: @KonradLubelski
    • @KonradLubelski * 用于解包和解包你的main_list 这样做print(*main_list)
    • 好的,这行得通,谢谢,但如果我不想解压大列表,我也会考虑另一种情况,只有较小的列表显示在大列表的新行中。这怎么办?
    【解决方案2】:

    一种方法是在生成数字后打印:

    def generate_random_number_list_10x10_1(amount_of_lists):
        for _variable_1 in range (amount_of_lists):
            print(generate_random_number_list_10(amount_of_lists))
    
    generate_random_number_list_10x10_1(10)
    

    输出:

    [49, 48, 9, 53, 17, 11, 52, 29, 72, 18]
    [1, 3, 35, 73, 3, 14, 75, 87, 43, 4]
    [61, 89, 13, 76, 41, 20, 79, 29, 59, 84]
    [13, 25, 34, 6, 89, 60, 44, 49, 64, 96]
    [49, 70, 12, 12, 49, 74, 58, 94, 33, 16]
    [36, 73, 37, 51, 25, 43, 91, 67, 94, 56]
    [90, 45, 40, 40, 14, 82, 39, 54, 27, 55]
    [4, 52, 78, 53, 57, 31, 17, 31, 2, 38]
    [91, 67, 57, 14, 33, 25, 8, 93, 37, 44]
    [59, 60, 48, 44, 3, 70, 85, 13, 38, 13]
    

    注意您的问题,您的代码生成的内容与您所说的内容之间存在差异,singlelist=generate_random_number_list_10(5) 将为您提供包含 5 个元素的列表

    【讨论】:

    • 好的,这行得通,谢谢,但如果我不想解压大列表,我也会考虑另一种情况,只有较小的列表显示在大列表的新行中。这怎么办?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-12
    • 2019-06-16
    • 2023-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    相关资源
    最近更新 更多