那是因为你在单独的行中是
printing.虽然你还没有给我们足够的关于你想要打印它们的信息,但我可以推断出你想要第一列的前半部分和第二列的后半部分.
嗯,这不是那么容易,你需要提前思考并意识到如果你计算列表的一半并保持它:h = len(字母)// 2你可以通过变量i迭代到前半部分列表并以相同的字母[i]和字母[hi]打印正确吗?像这样的东西:
def main():
letters = ["a", "b", "c", "d","e", "f"]
h = len(letters)//2 # integer division in Python 3
for i in range(h):
print(letters[i], letters[h+i])
您可以轻松地将其推广到没有对长度的列表,但这实际上取决于您在这种情况下要执行的操作.
话虽这么说,通过使用Python,你可以更进一步:).看看这段代码:
def main():
letters = ["a", "b", "c", "d","e", "f"]
for s1,s2 in zip(letters[:len(letters)//2], letters[len(letters)//2:]): #len(letters)/2 will work with every paired length list
print(s1,s2)
这将在Python 3中输出以下内容:
a d
b e
c f
我刚刚做的是形成元组,其中zip功能将列表的两半分组.
为了完整起见,如果有一天你的列表没有一对长度,你可以使用itertools.zip_longest,它或多或少像zip一样,但如果两个iterables的大小不同,则填充默认值.
希望这可以帮助!