2016-10-16 16 views
0

関数を使用してコードに複数の項目を追加できます。しかし、私はまだ1つのアイテムを追加することも、何も追加しないこともできます。こことその例。Python 2.7:関数内に2つのリスト項目を追加する

listX = ["a", "b", "c"] 

def addList(add): 
    if add != "null": 
     listX.append(add) 

addList("d") 

最後にdを追加します。シンプル。

print listX 

addList("e" + "f") 

print listX 

ここでは['a'、 'b'、 'c'、 'd'、 'ef']です。 私はそれが['a'、 'b'、 'c'、 'd'、 'e'、f]になりたい。また、アイテムを追加する引数を1つだけ追加したいとします。

どうすればよいですか?助けてください。いつものように、事前に感謝します。

listX = ['a', 'b', 'c'] 

def addList(*args): 
    listX.extend(args) 

addList('d', 'e', 'f') 
print (listX) 

リターン:

+0

あなたのリスト項目を動作するはずですが、常に単一文字ですか? – ettanany

+0

'add_list = [" e "、" f "]'と言って、あなたの関数にリストを渡してください: 'listX + = add_list' – mitoRibo

答えて

0

あなたの関数addListは、あなたは、単に簡単に追加する複数の引数を取得するために*を使用し、extendあなたの問題を解決するために

addList("e" + "f") # it passes it as addList("ef") 

を言うだけ1つの引数を、期待してい:

['a', 'b', 'c', 'd', 'e', 'f'] 
+0

引数が複数ある場合はどうなりますか?たとえば、 – m1ksu

+0

gosh darnitなぜそれが投稿で投稿されますか?例:def addList(remove、add) – m1ksu

+0

'*'は複数の引数を取るのに役立ちますが、 'addList(remove、* add)'を実行すると、最初と唯一の引数がremoveに使われ、それ以外はすべて'addList(3、4、5、6、7)'、ここでは3がremove変数になり、それ以外はすべてpackされて追加されます。 –

1

問題は、そこにある'e' + 'f'のものを分解することです。

限り、あなたのパラメータがinterableであるとして、これは

def addList(iterable): 
    for item in iterable: 
     listX.append(item) 
+0

あなたは単純に 'extend'を使うことができます。 –

+0

@ SSj.Luffyいいえ。私がループする理由は、OPが彼の例で示している 'e' + 'f'のものを分解することです。 –

関連する問題