items = [("A",5,6),("A",4,5),("A",3,8),("B",6,9),("B",7,4),("C",9,2)]
q2= filter(lambda x: x.count("A"),items)
q4= map(lambda x: x[1], items)
list(q4)
print("Q2 = {}".format(q2))
print("Q4 = {}".format(q4))
我无法理解为什么输出dos不显示?! 我试着计算列表中有多少A并打印第二项 Q2 = Q4 =
答案 0 :(得分:0)
您正在正确过滤items
但是您应该在q2
上应用下一步,因为过滤器不会更改items
。它返回结果,并将其分配给q4
。所以:
items = [("A",5,6),("A",4,5),("A",3,8),("B",6,9),("B",7,4),("C",9,2)]
q2= filter(lambda x: x.count("A"),items)
q4= map(lambda x: x[1], q2)
list(q4)
print("Q2 = {}".format(q2))
print("Q4 = {}".format(q4))
答案 1 :(得分:0)
关于你的第一个问题:
print map(lambda x: x[0],items).count('A')
或者,
print [i[0] for i in items if i[0]=='A']
关于你的第二个问题:
print map(lambda x:x[1],items)