Python:处理返回值为大型结构时的情况

Python:处理返回值为大型结构时的情况,python,Python,如果返回的值是一个非常大的结构,如包含数百万个元素的列表, 如何处理此类案件 像 x=set[()] def f(x): .... .... # now x has millions of elements return x 你是说 x=集合() 作用于x的函数不需要返回x,它可以修改传递的值 当您返回列表或任何其他对象时,数据不会重复。。。只是因为传递的值没有被复制 您会受到早熟优化综合症的影响,因为您试图在测试某个优化问题是否有效之前解决该问题 修改

如果返回的值是一个非常大的结构,如包含数百万个元素的列表, 如何处理此类案件

x=set[()]
def f(x):
     ....
     ....
     # now x has millions of elements
     return x
  • 你是说

    x=集合()

  • 作用于x的函数不需要返回x,它可以修改传递的值

  • 当您返回列表或任何其他对象时,数据不会重复。。。只是因为传递的值没有被复制

  • 您会受到早熟优化综合症的影响,因为您试图在测试某个优化问题是否有效之前解决该问题

  • 修改集合的函数示例:

    >>> def f(x):
    ...   x.add(42)
    ... 
    >>> x = set([13])
    >>> x
    set([13])
    >>> f(x)
    >>> x
    set([42, 13])
    

    你想用这些数据做什么?除了第一行右边的
    TypeError
    之外,您从尝试中得到了什么错误。但是如果他写set[()],我想他指的是set([]),顺便说一下,它相当于2的set(),我试过了,但值没有修改>>>定义f(x):。。。x=设置([3,4])…>>x=set([1,2])>>>x-set([1,2])>>>f(x)>>>x-set([1,2])@lily:最好在问题中添加代码。。。这里很难理解你的函数不是在修改给定的集合x,而是在创建一个新的集合。