Python 函数来扩展列表

Python 函数来扩展列表,python,python-2.7,Python,Python 2.7,如何创建一个可以接受任何列表并对其进行扩展的函数。下面是我要说的: def list(l, p): return l.extend(p) 我还想让p具有任何性质。请不要覆盖关键字,我在这里根据我对您的问题的理解发布了一个答案,这不是很清楚 def my_list(l, *args): from itertools import chain sub_lists = filter(lambda x: isinstance(x, list), args) e

如何创建一个可以接受任何列表并对其进行扩展的函数。下面是我要说的:

  def list(l, p):

      return l.extend(p)

我还想让p具有任何性质。

请不要覆盖关键字,我在这里根据我对您的问题的理解发布了一个答案,这不是很清楚

def my_list(l, *args):
    from itertools import chain
    sub_lists = filter(lambda x: isinstance(x, list), args)
    elements = filter(lambda x: not isinstance(x, list), args)
    l.extend(list(chain.from_iterable(sub_lists)))
    l.extend(list(elements))
    return l


l1 = [1, 2]
l2 = [3, 4]
l3 = [5, 6]
e = 7

new_list = my_list(l1, l2, l3, e, 8)

# [1, 2, 3, 4, 5, 6, 7, 8]
print(new_list)

请不要覆盖关键词,这里我根据我对你的问题的理解发布了一个答案,这个答案不是很清楚

def my_list(l, *args):
    from itertools import chain
    sub_lists = filter(lambda x: isinstance(x, list), args)
    elements = filter(lambda x: not isinstance(x, list), args)
    l.extend(list(chain.from_iterable(sub_lists)))
    l.extend(list(elements))
    return l


l1 = [1, 2]
l2 = [3, 4]
l3 = [5, 6]
e = 7

new_list = my_list(l1, l2, l3, e, 8)

# [1, 2, 3, 4, 5, 6, 7, 8]
print(new_list)

任何性质的?为什么不直接使用
extend
?首先,在
list
ctor中重新定义内置的是非常糟糕的。第二,请澄清你所说的“任何性质”是什么意思。请注意,Python中有iterable和non-iterable两个值,请解释您对这两个值的预期结果。任何性质?为什么不使用
extend
?首先,在
list
ctor中重新定义内置值是非常糟糕的。第二,请澄清你所说的“任何性质”是什么意思。请注意,Python中有iterable和non-iterable两个值,请解释您对这两个值的预期结果。这正是我想要的。这正是我想要的。