【问题标题】:Count number of distinct values in the same position in a list计算列表中相同位置的不同值的数量
【发布时间】:2021-04-23 13:28:52
【问题描述】:

考虑以下列表:

l=[[{'a': 'a'}, {'a': 'b'}, {'a': 1}], [{'a': 'a'}, {'a': 'b'}, {'a': 1}], [{'a': 'a'}, {'a': 'c'}, {'a': 1}]]

我想查找此列表中同一位置上不同元素的数量。

例子

  • 如果 position=1,则输出为 2({'a': 'b'}{'a': 'c'})。
  • 如果 position=0,则输出为 1:({'a': 'a'}{'a': 'c'})。

有没有办法使用 map/lambda 做到这一点?我不想为此做一个循环。

谢谢。

【问题讨论】:

    标签: python list dictionary lambda


    【解决方案1】:

    这可行:

    len(set(map(lambda x: tuple(x[position].items()), l)))
    

    虽然我建议不要使用这样的代码 IRL。

    【讨论】:

    • 这行得通。谢谢你。你能告诉我为什么我不应该使用这样的代码吗?
    • 顺便说一句,赞成并接受答案会比谢谢你更好:)
    • 两者都更好 ;D 现在还不可能。在 2 分钟内
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多