如何在python中使用map和lambda对每个字符串应用int?

2024-09-29 04:30:18 发布

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

我希望避免对列表中的每个元素执行难看的int。在

dictionary[l[0]] = [(int(l[1])+ int(l[2])+ int(l[3]))/3] #avg score of 3 grades
    sub1 += int(l[1])
    sub2 += int(l[2])
    sub3 += int(l[3])

列表l有4个元素,0到3个索引。我需要从第一个元素开始应用int,而不是第0个元素。在

我试着写一些类似的东西:

^{pr2}$

我需要lambda吗,因为map已经可以做了?在


Tags: oflambda元素map列表dictionaryintavg
1条回答
网友
1楼 · 发布于 2024-09-29 04:30:18

map对列表的每个元素调用一个函数。因为int是一个可以使用的函数

map(int, lst)

直接。在

Lambda函数只会为您提供更大的灵活性,如果您想这样做:

^{pr2}$

一种更具python风格的方法是使用列表理解

[int(x) for x in lst]
[5*int(x) for x in lst]

在Python3中,map返回一个生成器。如果您希望有一个列表,您可以:

list(map(int, lst))

相关问题 更多 >