python - 将一个值与列表一起传递给python中的地图
问题描述
我试图将math.pow
具有 2 的幂的函数映射到一个列表,但问题是我应该传递一个可迭代的,而不仅仅是一个值。所以,我通过制作一个与我的列表长度相同的 2s 列表来修复它:
import math
lis = [1,2,3,4]
squred_lis = list(map(math.pow, lis, [2,2,2,2]))
print (squred_lis)
那么,有没有办法我可以只传递一个值并将它作为第二个参数传递给每个迭代?
解决方案
我想你要找的是itertools.repeat()
. 它将无限重复该值,map()
并将根据需要迭代它们中的任意多个以匹配lis
.
import math
import itertools
lis = [1,2,3,4]
squared_lis = list(map(math.pow, lis, itertools.repeat(2)))
print(squared_lis)
产生:
[1.0, 4.0, 9.0, 16.0]
推荐阅读
- d3.js - d3.js 折线图 -> 不要放大
- vue.js - Vue.js 中的 Chrome 扩展构建未检测到 Vue.js 开发工具
- javascript - 2 不同标签的折线图 | 图表.js
- javascript - 如何将数据从加载到 div 的网页传递到加载它的页面
- laravel - Laravel Eloquent 移除
- javascript - 使用用户 ID 的 Discord.JS 头像命令
- javascript - 在node.js中刷新页面后会话变量未定义
- android - 如何使用 Retrofit 加载更多帖子
- sql - 访问 SQL 中的数组列 - 用于多个值
- python - 如何找到与 cv2 接壤的红色矩形的白色圆形轮廓的中心