Python 打印带有特定分隔符的列表

Python 打印带有特定分隔符的列表,python,list,Python,List,我一直在为一个小程序工作,该程序最终创建了一个包含100个随机数字的列表。我应该在10x10的空间里打印列表,而且,由于我是一个代码新手,我真的不知道该怎么做。有什么建议吗 可能是这样的: list1 = [0]*100 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0

我一直在为一个小程序工作,该程序最终创建了一个包含100个随机数字的列表。我应该在10x10的空间里打印列表,而且,由于我是一个代码新手,我真的不知道该怎么做。有什么建议吗

可能是这样的:

list1 = [0]*100
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
import random
final_list =[]
for i in range(0, 10):
    row_list = []
    for j in range(0, 10):
        row_list.append(random.randint(1, 10000))
    final_list.append(row_list)
example_list = [0]*100

index_print = 0

for x in range(10):
    for y in range(10):
        print(example_list[index_print], end=' ')
        index_print += 1
    print('\n')
最终结果应该是这样的:

list1 = [0]*100
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
import random
final_list =[]
for i in range(0, 10):
    row_list = []
    for j in range(0, 10):
        row_list.append(random.randint(1, 10000))
    final_list.append(row_list)
example_list = [0]*100

index_print = 0

for x in range(10):
    for y in range(10):
        print(example_list[index_print], end=' ')
        index_print += 1
    print('\n')

提前谢谢

您可以通过两个for循环来实现这一点。大概是这样的:

list1 = [0]*100
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
import random
final_list =[]
for i in range(0, 10):
    row_list = []
    for j in range(0, 10):
        row_list.append(random.randint(1, 10000))
    final_list.append(row_list)
example_list = [0]*100

index_print = 0

for x in range(10):
    for y in range(10):
        print(example_list[index_print], end=' ')
        index_print += 1
    print('\n')
细分:

  • 您可以使用名为random的库来创建随机数。您可以查看其文档
  • random.randint(11000)
    中,我给出了一个范围,即随机数的范围。您可以更改它以满足您的要求
  • 也许有更好的方法可以做到这一点,但更容易理解:)

  • 您需要的只是内置功能:

    输出:

    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    
    可能代码有点复杂,因为您正在尝试学习,但我将尝试解释:

    • 有一个生成器可以将初始列表拆分为10个元素的较小列表:

      (列表1[i:i+10]表示范围内的i(0,len(列表1),10))

    • 然后我使用unpack操作符
      *
      将生成器解包到
      打印
      参数中
    • 我使用
      sep='\n'

    实现最终结果的更简单版本是使用单个
    for
    循环:

    for index in range(0, len(list1), 10):
        print(list1[i: i + 10])
    
    乌普图:

    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    

    我已经基本解决了这个问题,至少令我满意的是,它看起来是这样的:

    list1 = [0]*100
    
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    
    import random
    final_list =[]
    for i in range(0, 10):
        row_list = []
        for j in range(0, 10):
            row_list.append(random.randint(1, 10000))
        final_list.append(row_list)
    
    example_list = [0]*100
    
    index_print = 0
    
    for x in range(10):
        for y in range(10):
            print(example_list[index_print], end=' ')
            index_print += 1
        print('\n')
    
    我可能也会这么做,但现在我很满意。
    遗憾的是,我发现我的代码中有些问题还没有解决,但这是另一个问题。谢谢你给了我这么多的答案,我没想到在我的第一篇文章中会得到这么多

    For循环在这里应该有帮助。到目前为止你试过什么?如果你有所有的零,一个项目是10,会发生什么?是所有条目都应该对齐,还是只想每行打印一个10项子列表?请查看moduleWelcome to Stack Overflow。请阅读,采取,阅读,以及。最后,请学习如何创建一个您自己的尝试,并在问题本身中向我们展示它,以及您的问题描述。请向我们展示您迄今为止尝试过的内容。很遗憾,我不理解代码,因此我将不使用此代码,但仍然感谢您的建议和解释@柯达快车现在呢?我添加了一个更简单的解决方案谢谢,现在我更容易落后了!我仍然对列表1[i:i+10]的功能有点困惑,但我想我已经有了一些大致的了解。列表1[i:i+10]使用切片,在列表中的给定开始-结束位置“剪切”列表,您可以在这里查看:我会查看一下,再次感谢您的帮助!您可以对初始列表进行切片,而不是逐个元素打印