为啥有第二个变量指向 map() 函数,变量 student 来自哪里[重复]

Posted

技术标签:

【中文标题】为啥有第二个变量指向 map() 函数,变量 student 来自哪里[重复]【英文标题】:why is there a second variable poinbting to map() function and where did the variable student come from [duplicate]为什么有第二个变量指向 map() 函数,变量 student 来自哪里[重复] 【发布时间】:2021-12-13 00:01:43 【问题描述】:
        a,y = map(int, input().split())
    scores = [map(float, input().split()) for _ in range(y)]
    
    [print(sum(student)/y) for student in zip(*scores)]

这段代码应该接受输入:不。学生,没有。每门科目的分数和分数,然后给出所有学生的平均分。 我有两个问题:

map() 方法是如何获取 2 个变量的?这是怎么回事。 代码中怎么会有一个变量 student 甚至没有定义并且仍然可以正常工作?

此代码是hackerrank中初学者级别问题的解决方案

【问题讨论】:

Answer to question 1 正在“解包” Answer to question 2 是“列表理解” 虽然我的一般建议是从入门教程中学习 Python,而不是通过在hackerrank 或 leetcode 上阅读/编写代码 sn-ps 您的回答确实内容丰富,但没有回答问题 您的两个问题基本上都是“这是如何工作的”,并且在每个相应的链接中都有详细说明。 【参考方案1】:

第一行的语法只有在 map 读取一对输入时才有效, 然后第一个输入将存储在第一个变量中,第二个输入将存储在第二个变量中。 否则会报错。

【讨论】:

以上是关于为啥有第二个变量指向 map() 函数,变量 student 来自哪里[重复]的主要内容,如果未能解决你的问题,请参考以下文章

两个构造函数和静态String变量

thisapply/callbind闭包函数变量复制

为啥在函数和类中处理未绑定的局部变量有区别?

C语言中关于结构体指针为啥不能在函数内赋初值的问题?

第三天

第二十二节,三元运算