2017-10-07 3 views
1

どのようなリストを取り、それを拡張できる関数を作成することができますか?私が話していることは次のとおりです。リストを拡張する関数

def list(l, p): 

     return l.extend(p) 

また、pには任意の性質のものが必要です。

+0

* * – mentalita

+2

'extend'を使わないのはなぜですか? – Mureinik

+1

まず第一に、あなたは 'list'の組み込み関数を定義し直すのが非常に悪いです。次に、「どんな本質」と言ってどういう意味なのかを明確にしてください。 Pythonには_iterable_および_non-iterable_値があり、どちらの結果が期待されるのかを説明しています。 – myaut

答えて

0

キーワードを上書きしないようにしてください。私はあなたの質問の理解に基づいて回答を投稿しますが、これはあまり明確ではありません。

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) 
+0

それはまさに私が探していたものです。 – Shyryu

関連する問題