Hi there! 我是嘟嘟~受到前輩啟發,想說可以紀錄一下自己練習的過程,小女子為程式超超菜鳥,此系列非教學文,僅為個人解題筆記,可能有錯誤或未補充詳盡之處,歡迎前輩們不吝指教!也歡迎正在自學的夥伴...
Hi there! 我是嘟嘟嘟嘟~遭受老前辈启迪,想说能够记录一下自身训练的全过程,姑娘为程序超超小白,此系列产品非课堂教学文,仅为本人答题手记,将会有不正确或未填补详细之处,热烈欢迎老前辈们不吝指教!也热烈欢迎已经通过自学的小伙伴一起探讨学习培训~
键入文件格式
第一行键入一整数金额N意味着列阵的总数。
第二行包括N个用空格符分隔的整数金额大数字,意味着一阵列A。
限定:1 ≦ N ≦ 10001 ≦ A ≦ 10000
輸出文件格式
翻转列阵A里的每一个原素(in reverse),并以空格符分隔后印出来。
样版键入
4
1 4 3 2
样版輸出
2 3 4 1
初始文件格式
import math
import os
import random
import re
import sys
if __name__ == '__main__':
n = int(input())
arr = list(map(int, input().rstrip().split()))
我的解释1
n = int(input())
arr = list(map(int, input().rstrip().split()))
#对每一个键入字串删掉结尾空格符,以空格符分隔,转化成整数金额特性再以目录存储
for i in arr[::-1]: #将目录arr原素翻转,并历遍每一个原素
print(i,end = ' ') #印出来每一个原素,并且用空格符分隔
我的解释2
n = int(input())
arr = list(input().rstrip().split()) #与解释1区别取决于目录内的原素(大数字)仍为字串特性
print(' '.join(arr[::-1])) #翻转目录arr后,以空格符分隔并印更新字串
键入
35833 9919 6731
結果为
6731 9919 5833
填补:
str.rstrip() 能够删掉字符串数组 结尾 的特定空格符(默认设置为空格符);
str.split() 能够把字符串数组以特定空格符隔开(默认设置为空格符),回到 目录(list);
map(function,seq) 能够将目录(seq)里的每一个原素用函式(function)历遍测算,并回到一个 迭代器;
str.join(seq) 能够将目录(seq)中的字符串数组原素以特定字符串数组(str)隔开,回到一个新的 字串(string),留意的是若目录里有非字符串数组原素(如整数金额int),务必先转化成字串str特性才能够开展join(),不然会出現不正确。
不正确解法:
print(' '.join(str(arr[::-1])))
結果为
[ 2 , 3 , 4 , 1 ]
由于一但str(arr)后,arr的特性早已并不是目录了,这时中括号([])和分号(,)也转化成字串,join()后会当做字串一起分隔并串连。
假如题型早已给出一个整数金额原素的目录了,要求想要你改为字串后再用join()连接起来得话,可以用二种方式 :
应用map()函式
arr = list(map(str, arr))
目录生成式
arr = [str(c) for c in arr]
(谢谢老前辈填补)