打印时更改数组项的顺序

时间:2016-07-13 19:20:50

标签: python arrays

我正在编写一个Python程序,其中包括按照用户输入数组中每个项目的顺序打印从用户输入创建的数组。不幸的是,我几乎没有遇到任何问题;一旦用一个套装重复第一个项目两次,然后在另一个套装中将最后两个项目放在开头。 我检查了shell中的数组,并且数组包含了正确顺序的正确数量的项目,因此我不知道发生了什么。我的脚本看起来像这样:

i = 1
lines = []
for i in range (1, (leng + 1)):
    lines.append(input())
input() # The data stripped is not used, the input is a wait for the user to be ready.
i = 0
for i in range (0, (leng + 1)):
    print(lines[i - len(lines)])

我搜索没有找到任何我的目的(但话又说回来,我可能没有像我上一期的问题那样使用正确的搜索词)。 如果存在,请回答或找到重复。我想要一个答案。

1 个答案:

答案 0 :(得分:2)

你不想要这个吗?

for line in lines:
    print(line)

修改

作为对您的代码有什么问题的解释......您需要多次循环(leng+1而不是leng)。然后你使用i - len(lines),这应该没问题,但只相当于i。您的代码的另一个修复可能是:

for i in range(len(lines)):
    print(lines[i])

第二次编辑

将您的完整代码重写为我认为最简单,最惯用的版本:

# store leng lines
lines = [input() for _ in range(leng)]

# wait for user to be ready
input()

# print all the lines
for line in lines:
    print(line)