Python初学者的问题

img

img


您们好,我先问下这里的21行写这串代码的意义是什么,我觉得是多此一举吧。第19行不就可以把输入的数字按列表方式输出吗。
黑色的是我自己打的代码,就很简洁,可我不确定我这样写思路正不正确

input().split()的作用是把字符串分割成多个字符串组成的列表,列表中元素的类型为str类型, int(list1[i]是吧字符串类型 的 数字转换成整型,我们可以i打印下他的类型看看,代码分别别如下:

N=int(input())
list1=[]
list1=input().split()
for i in range(len(list1)):
    print(type(list1[i]))
    list1[i]=int(list1[i])
if len(list1) != N:
    print("input errot!")
list1.sort()
for i in range(N):
    print(list1[i],end="  ")

原来代码的是把列表中所有的的字符串转换为整型,然后再排序。但是直接排序数字字符串也是可以的,因此你的代码也是对的。
还有更简单的方法:

print(*M)

列表解包,这样就可以直接输出列表