我无法理解列表的 Python3 地图函数是如何工作的?

I'm not able to understand how Python3 map function for list is working?

我正在尝试了解 Python3 上的地图功能。我写了下面的代码:

for ch in map(list,["66","67","68"]):
  print (ch)

我得到以下输出:

['6', '6']
['6', '7']
['6', '8']

谁能详细解释一下?

每次从中提取值时,

map 都会在提供的可迭代输入的单个元素上生成转换函数的结果。所以在第一次拉动时,它产生了 list("66") 的结果;由于 str 是由 len 1 strs(字符串的各个字符)组成的迭代器,list("66") 产生 list'6''6'。下一次,list("67") 产生 ['6', '7'],依此类推。

Map 接收一个函数和一个可迭代对象作为参数。因此,它将遍历 iterable 和 运行 每个元素的函数。这意味着它将 运行 按顺序排列:list("66"); list("67"); list("68") list() 是 Python 中一个非常通用的函数,它将您的字符串转换为创建字符串的字符数组。这意味着“66”将得到 [“6”,“6”]。最后,您的初始列表将成为上述列表的生成器,感谢 ShadowRanger 指出这一点。

此外,您可以检查 official documentation 地图功能