gpt4 book ai didi

python - 使用 map() 函数的整数列表输入的绝对值

转载 作者:行者123 更新时间:2023-12-04 00:50:14 27 4
gpt4 key购买 nike

通常,当我必须以这种方式输入空格分隔的整数的列表时:

12 15 31 -12

我使用这个函数:

list(map(int, input().split()))

因此它返回 [12, 15, 31, -12]

但是,现在,如果出于某种原因我必须将数字仅输入为正整数(即它们的绝对值),我应该如何以最简单的方式使用它?
我可以很好地输入列表中的所有数字,然后一个一个地输入,将它们转换为它们的绝对值,但它们是更好的方法吗?

最佳答案

一旦您理解了 map(func, iterable) 函数的作用,这就很简单了:它对 每个 的元素调用函数 func给定的 iterable,并返回一个包含结果的迭代器。这相当于这样做:

def my_map(func, iterable):
for item in iterable:
yield func(item)

那么如何得到绝对整数值呢?改变 func 的作用!

  1. 定义一个函数并映射到它:
def absint(x):
return abs(int(x))

list(map(absint, input().split()))
  1. 定义一个调用 absint 的 lambda 函数:
list(map(lambda x: abs(int(x)), input().split()))

1 和 2 本质上是一样的,我不希望两者在性能上有任何差异。

关于python - 使用 map() 函数的整数列表输入的绝对值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67285892/

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