【问题标题】:Created simple table with for-loop python用for循环python创建了简单的表
【发布时间】:2018-11-21 13:34:33
【问题描述】:

我只是想按照这段代码创建简单的表格

n = 0
x = ["list1","list2","list3","list4"]
for y in x:
    n+=1
    h="{}. {}".format(n,y) + '   ' + "{}. {}".format(n+n,y)
    print(h)

我得到了输出

1. list1  5. list1
2. list2 6. list2
3. list3  7. list3
4. list4  8. list4

我应该怎么做才能得到这样的输出

1. list1  3. list3
2. list2  4. list4

我刚刚开始,很困惑解决它,感谢谁能回答我的问题。

【问题讨论】:

  • 这是一个很好的问题,但是,下次尝试将标题写为问题或陈述的问题。
  • 可以像geeksforgeeks.org/python-format-function 中解释的那样在此处提供格式化帮助吗?
  • 我不知道这个格式功能可以解决我的问题,但我可以阅读,也许可以帮助并感谢您的反馈

标签: python-3.x for-loop


【解决方案1】:

无论列表有多长,以下内容都应为您提供所需的内容。可能有比这更有效的方法,但是这种方法将其分解为各个部分,因此基本上您需要找到列表中的中点并在右侧打印相应的值。

x = ["list1","list2","list3","list4", "list5",]

if len(x) % 2 == 1 :
    half = int((len(x) + 1) / 2)
else:
    half = int(len(x) / 2)

for i in range(half):
    if half > len(x) / 2:
        if i == half - 1:
            h = "{}. {}".format (i + 1 , x[i])
        else:
            h = "{}. {}".format (i + 1 , x[i]) + '   ' + "{}. {}".format (half + (i + 1) , x[int (len (x) / 2) + i + 1])
    else:
        h = "{}. {}".format (i + 1 , x[i]) + '   ' + "{}. {}".format (half + (i + 1), x[int (len (x) / 2) + i])
    print(h)

我还考虑了具有奇数个元素的列表,例如上面x 的示例,这将为您提供以下输出

1. list1   4. list4
2. list2   5. list5
3. list3

【讨论】:

  • 它太棒了,但是有这么多的饲料空间,我只是做简单的任务。但它供我参考!谢谢先生
【解决方案2】:

这样的?

import math
x = ["list1","list2","list3","list4", "list5", "list6", "list7"]
y = math.ceil(len(x)/2)
for i, j in enumerate(x[:math.ceil(len(x)/2)], start=1):
    try:
        print("{}. {}".format(i, j) + '     '"{}. {}".format(i+math.ceil(len(x)/2), x[y]))
    except:
        print("{}. {}".format(i, j))
    y +=1

输出:

1. list1     5. list5
2. list2     6. list6
3. list3     7. list7
4. list4

【讨论】:

  • 输出是肯定的,但我认为它可以是简单的代码:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-15
  • 2017-04-21
  • 2014-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多