赋值给以*varname结尾的逗号分隔的变量列表是如何工作的?

2024-04-19 07:36:26 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能给我解释一下这个代码吗?你知道吗

a, b, c, d, *e = map(int, input().split())

为什么这样做?星操作员的角色到底是什么?你知道吗

我知道它会列出d之后任意长的输入数,但它是如何做到的呢?另外,从我对map函数的一点了解来看,它有两个参数:一个函数和一个iterable。然而input().split()究竟怎么可能是一个可数呢?提前谢谢,请原谅我的知识不足。你知道吗


Tags: 函数代码角色mapinput参数iterableint
1条回答
网友
1楼 · 发布于 2024-04-19 07:36:26

让我们从里到外。。。你知道吗

input().split()将接受键盘输入并返回一个列表,例如:

如果输入a b c d e f g,结果列表将是['a', 'b', 'c', 'd']

map接受一个函数和一个iterable,并将iterable的每个元素传递给函数,结果返回一个新的iterable。在您的例子中,函数int应用于键盘输入的每个元素。你知道吗

a, b, c, d, *e = ....获取从map返回的iterable并将其分配给这些变量。a、 b,c和d将是前四个整数,e将是剩余整数的列表。你知道吗

相关问题 更多 >