Qua*_*ark 2 python split python-3.x
我是Python编程的初学者。我已经检查了这些方法分别做些什么,但没有整体了解。这是为解决该问题而编写的程序: 编写一个程序以相反的顺序打印数组的所有元素:
if __name__ == '__main__': #1
n = int(input()) #2
#3
arr = list(map(int, input().rstrip().split())) #4
for i in range(n): #5
print(arr[-i-1],end=' ') #6
Run Code Online (Sandbox Code Playgroud)
我没听懂第4行。有人可以逐步解释该行在做什么吗?他们如何工作并提供整体输出?输入之间用空格隔开:
5 #length of the array
1 2 3 4 5 #inputs separated by space
Run Code Online (Sandbox Code Playgroud)
input()看起来它获得下一行输入。在示例中,这是字符串"1 2 3 4 5\n"(末尾有换行符)。
rstrip() 然后在输入的右端删除空格,包括换行符。
split()不带参数的空白处会分割,将输入转换为可迭代的字符串。例如['1', '2', '3', '4', '5']
map(int, sequence)将int应用于每个字符串。例如int('1') -> 1,int('2') -> 2等等。因此您的字符串序列现在是整数序列。
最后list(seq)将序列转换为列表类型。所以现在你有了[1,2,3,4,5]。