疏于 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日

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失