我只是尝试按照以下代码创建简单表
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
我才刚开始,很困惑,无法解决它,感谢谁能回答我的问题。
答案 0 :(得分:0)
无论列表多长,下面的内容都会为您提供所需的信息。可能有比这更有效的方法,但是这种方法将其分解为各个部分,因此从本质上讲,您需要在列表中找到中间点,并在右侧打印相应的值。
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
答案 1 :(得分:0)
像这样吗?
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