有人可以向我解释此代码吗?
a, b, c, d, *e = map(int, input().split())
这为什么起作用,并且星操作员在这里的作用到底是什么?
我知道它列出了d之后任意长的输入的列表,但是它是怎么做到的呢?同样,从我对map函数的一点了解来看,它带有两个参数:函数和可迭代。然而,input().split()
在世界上如何迭代?在此先感谢您,并请原谅我缺乏知识。
答案 0 :(得分:2)
让我们由内而外地工作...
input().split()
将接受键盘输入并返回一个列表,例如:
输入a b c d e f g
,结果列表将为['a', 'b', 'c', 'd']
map
接受一个函数和一个Iterable,并将Iterable的每个元素传递给该函数,结果返回一个新的Iterable。在您的情况下,功能int
将应用于键盘输入的每个元素。
a, b, c, d, *e = ....
将从map
返回的可迭代对象分配给那些变量。 a,b,c和d将是前四个整数,e将是任何剩余的列表。