疏于 2023-03-01 21:13 采纳率: 75%
浏览 22
已结题

python中map()函数


import random

x = random.randint(1e5, 1e8)  # 生成一个随机整数
y = list(map(int, str(x)))  # 提出每位上的数字
z = list(map(lambda x, y: x % 2 == 1 and y % 2 == 0, [1, 3, 2, 4, 1], [3, 2, 1, 2]))
print(x);
print(y);
print(z)

可以解释z = list(map(lambda x, y: x % 2 == 1 and y % 2 == 0, [1, 3, 2, 4, 1], [3, 2, 1, 2]))的意思吗,又或者整块代码的思路

  • 写回答

2条回答 默认 最新

  • Taylor 淡定哥 2023-03-02 04:11
    关注

    用 Python 内置的 random.randint(a, b) 函数生成一个范围在 1e5(即 100000)到 1e8(即 100000000)之间的随机整数 x。

    接着使用 str(x) 将这个整数转化为字符串,再使用 map() 函数和 int() 函数,将字符串中每一位数字都转化为整数,存储在一个列表 y 中。

    然后,使用 map() 函数和 lambda 表达式(匿名函数)创建了一个列表 z,这个列表中的每个元素都是布尔型值(True 或 False)。这个 lambda 函数接受两个参数 x 和 y,它对 x 和 y 分别执行了一个逻辑运算:如果 x 是奇数且 y 是偶数,则返回 True,否则返回 False。

    map() 函数将这个 lambda 函数应用到两个序列 [1, 3, 2, 4, 1] 和 [3, 2, 1, 2] 上,这两个序列分别作为 x 和 y 参数传入。由于 [1, 3, 2, 4, 1] 序列比 [3, 2, 1, 2] 序列长度要长,所以 map() 函数只会对 [3, 2, 1, 2] 序列中的每个元素执行一次 lambda 函数。

    最后,程序将 x、y 和 z 三个变量的值打印出来。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 创建了问题 3月1日

悬赏问题

  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)