我有一个字母列表,希望能够像这样垂直显示它们:
a d
b e
c f
def main():
letters = ["a", "b", "c", "d","e", "f"]
for i in letters:
print(i)
此代码仅像这样显示它们:
a
b
c
d
e
原文由 user3339203 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个字母列表,希望能够像这样垂直显示它们:
a d
b e
c f
def main():
letters = ["a", "b", "c", "d","e", "f"]
for i in letters:
print(i)
此代码仅像这样显示它们:
a
b
c
d
e
原文由 user3339203 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
那是因为你在单独的行中 打印 它们。虽然你没有给我们足够的信息来 说明 你到底想如何打印它们,但我可以推断你想要第一列的前半部分和第二列的后半部分。
好吧,这不是那么容易,你需要提前考虑一下并意识到如果你计算列表的一半并保留它:
h=len(letters)//2
你可以用变量迭代i
通过列表的前半部分和打印在同一行letters[i]
和letters[h+i]
正确吗?是这样的:您可以轻松地将它概括为没有对长度的列表,但这实际上取决于您在这种情况下想要做什么。
也就是说,通过使用 Python,您可以走得更远 :)。看看这段代码:
这将在 Python 3 中输出以下内容:
我刚刚所做的是使用
zip
函数对列表的两半进行分组形成元组。为了完整起见,如果有一天你的列表没有一对长度,你可以使用
itertools.zip_longest
它或多或少像zip
但如果两个可迭代对象都填充默认值’大小相同。希望这可以帮助!