从Python 3.4中的列表返回所有对

量子旅行者

该代码在Python 2.7中有效,但在3.4中无效。

import numpy as np
import itertools

a = [[3,7,9],[2,7,5],[6,9,5]]

def all_pairs(a, top=None):
    d = collections.Counter()
    for sub in a:
        if len(a)<2:
            continue
        sub.sort()
        for comb in itertools.combinations(sub,2):
            d[comb]+=1
    return sorted(np.array([i[0] for i in d.most_common(top)]).tolist())

这是我期望的结果:

[[2, 5], [2, 7], [3, 7], [3, 9], [5, 6], [5, 7], [5, 9], [6, 9], [7, 9]]

但是使用Python 3.4,我得到以下回溯:

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    prev_pairs()
  File "", line 102, in all_pairs
    sub.sort()
AttributeError: 'map' object has no attribute 'sort'

另外,当我只添加一个元素时,我什么也没得到:

all_pairs([3,7,9])
[]

# Expected to get:
[[3,7],[3,9],[7,9]]

有没有更好的方式编写此代码来解决这两个问题?

虎鹰T3

在Python 2中,map()产生一个list具有方法的sort()在Python 3中,map()产生一个map对象,该对象充当惰性生成器并且不具有method sort()如果要sort()在其上使用,则必须先将该对象传递给list()

sub = list(sub)
sub.sort()

当然,如果您这样做的话,不妨使用sorted(),它可以在Python 3map对象以及以下list对象上使用:

sub = sorted(sub)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 python 3.x 中创建给定列表的所有子集的列表

来自分类Dev

返回语句列表中内置的所有函数的Python使用

来自分类Dev

如何在Python 3中的defaultdict中打印所有索引的列表?

来自分类Dev

Python3,列表中的元组,如何获取其中的所有值

来自分类Dev

如何在python 3的列表中添加所有字符串类型的数字

来自分类Dev

在python 3中返回列表的元素返回无

来自分类Dev

以多个列表作为参数而不是在dict中返回它们,是否有更好的方法(python3)?

来自分类Dev

Python3 如何将列表中的所有顺序项乘以列表中的前一项?

来自分类Dev

Python bs4-从所有列表中查找文本

来自分类Dev

python中的列表操作,列表中有3个列表

来自分类Dev

无法在Python 3中打印列表(range(4 ** 4 ** 4))

来自分类Dev

返回文件中两个字符串之间的所有实例的每个实例[Python 3]

来自分类Dev

如何在Python的sqlite3中选择数据列表在哪里是所有列的子集

来自分类Dev

如何`str.join`两个列表到Python3中所有组合的字符串?

来自分类Dev

python 3中的返回语句

来自分类Dev

从python中的列表中删除所有'#'

来自分类Dev

Python 3中列表的范围

来自分类Dev

python 3 在列表中查找

来自分类Dev

合并Dataframe(Pandas)中的所有列-python3

来自分类Dev

如何获取网页中的所有单词 - Python3

来自分类Dev

从 Python 3 中的代码对象中提取所有常量

来自分类Dev

3rd 之后删除所有内容。在 Python 中

来自分类Dev

从python列表转换为char **并返回,从而使Cython中的所有元素都相同

来自分类Dev

MISRA-C ++:2008 [8-4-3]:在函数的所有退出路径中返回

来自分类Dev

python3中带有嵌套列表的Probelm

来自分类Dev

查找所有组合,通过一次消除一个 ar 直到列表为空,在 python 3 中处理列表的最佳数据结构是什么?

来自分类Dev

Python中列表所有元素的频率

来自分类Dev

替换列表 Python 中的所有元素

来自分类Dev

从python中的列表列表创建列表的所有组合

Related 相关文章

  1. 1

    在 python 3.x 中创建给定列表的所有子集的列表

  2. 2

    返回语句列表中内置的所有函数的Python使用

  3. 3

    如何在Python 3中的defaultdict中打印所有索引的列表?

  4. 4

    Python3,列表中的元组,如何获取其中的所有值

  5. 5

    如何在python 3的列表中添加所有字符串类型的数字

  6. 6

    在python 3中返回列表的元素返回无

  7. 7

    以多个列表作为参数而不是在dict中返回它们,是否有更好的方法(python3)?

  8. 8

    Python3 如何将列表中的所有顺序项乘以列表中的前一项?

  9. 9

    Python bs4-从所有列表中查找文本

  10. 10

    python中的列表操作,列表中有3个列表

  11. 11

    无法在Python 3中打印列表(range(4 ** 4 ** 4))

  12. 12

    返回文件中两个字符串之间的所有实例的每个实例[Python 3]

  13. 13

    如何在Python的sqlite3中选择数据列表在哪里是所有列的子集

  14. 14

    如何`str.join`两个列表到Python3中所有组合的字符串?

  15. 15

    python 3中的返回语句

  16. 16

    从python中的列表中删除所有'#'

  17. 17

    Python 3中列表的范围

  18. 18

    python 3 在列表中查找

  19. 19

    合并Dataframe(Pandas)中的所有列-python3

  20. 20

    如何获取网页中的所有单词 - Python3

  21. 21

    从 Python 3 中的代码对象中提取所有常量

  22. 22

    3rd 之后删除所有内容。在 Python 中

  23. 23

    从python列表转换为char **并返回,从而使Cython中的所有元素都相同

  24. 24

    MISRA-C ++:2008 [8-4-3]:在函数的所有退出路径中返回

  25. 25

    python3中带有嵌套列表的Probelm

  26. 26

    查找所有组合,通过一次消除一个 ar 直到列表为空,在 python 3 中处理列表的最佳数据结构是什么?

  27. 27

    Python中列表所有元素的频率

  28. 28

    替换列表 Python 中的所有元素

  29. 29

    从python中的列表列表创建列表的所有组合

热门标签

归档