gpt4 book ai didi

python - name, *line = input().split() 在 python 3 中如何工作?

转载 作者:行者123 更新时间:2023-12-03 22:46:05 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





What does the asterisk do in *a, b, c = line.split()?

(1 个回答)


2年前关闭。




我正在解决一个问题,即在 HackerRank 上的 python 3 中,从 n 个其他学生中找出一个学生的平均分数。我还没有为它编写代码。但是在 HackerRank 中,他们已经为我们提供了一些代码部分,例如接受输入的部分。我不明白什么名称,*line = input().split() 实际上在做什么。

我对 .split() 的作用有所了解。但这整条线令人困惑。

This is the code that has been already provided :


if __name__ == '__main__':
n = int(input())
student_marks = {}
for _ in range(n):
name, *line = input().split()
scores = list(map(float, line))
student_marks[name] = scores
query_name = input()

最佳答案

* 用于从 split 语句中获取额外的返回。

所以如果你有:

>>> first, *rest = input().split()
>>> print(first)
>>> print(*rest)

并运行它并输入
“你好,我的名字是鲍勃”
它会打印出来

hello
['my', 'name', 'is', 'bob']

另一个例子是这样的:

>>> a, b, *rest = range(5)
>>> a, b, rest
(0, 1, [2,3,4])

它也可以用于任何可能导致一些有趣情况的位置

>>> a, *middle, c = range(4)
>>> a, middle, c
(0, [1,2], 3)

关于python - name, *line = input().split() 在 python 3 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56658837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com