使用 'map' 显示每个元组中第一个元素的数量

Use 'map' to show the count of first elements in each tuple

我正在使用 RDD 管道并尝试使用 'map' 来显示每个元组中第一个元素的计数。例如,第一个应该产生 2,第二个应该产生 1,第三个应该产生 3。

   [('John', 'MA'), ('Sam', 'PA')],
     [('Ryan', 'NM')],
     [('John', 'DE'), ('Stephanie', 'CA'), ('Courtney', 'ME')]

我相信它应该是这样的代码行:

names.map(lambda name: (name.count[0]))

这会比列表理解快得多:

data = [[('John', 'MA'), ('Sam', 'PA')],[('Ryan', 'NM')],[('John', 'DE'), ('Stephanie', 'CA'), ('Courtney', 'ME')]]

out = [ len(x) for x in data ]
print(out)

输出:

[2, 1, 3]

但如果您真的想要它作为 lambda 映射,这应该可行:

out = map(lambda x: len(x), data)