文字に分割されずに文字列をリストに挿入する


113

私はPythonが初めてで、文字列を個々の文字に分割せずにリストに文字列を挿入する方法を見つけることができません。

>>> list=['hello','world']
>>> list
['hello', 'world']
>>> list[:0]='foo'
>>> list
['f', 'o', 'o', 'hello', 'world']

どうすればいいですか:

['foo', 'hello', 'world']

ドキュメントとウェブを検索しましたが、今日はそうではありません。

回答:


147

リストの最後に追加するには:

list.append('foo')

最初に挿入するには:

list.insert(0, 'foo')

ほとんどの人はこれを知っていると思いますが、追加するだけです:実行する、list2 = list1.append('foo')または実行list2 = list1.insert(0, 'foo') するとlist2、値はNoneになります。どちらappendinsert彼らは新しいリストを返すのではなく、上で使用されているリストを変異させる方法です。
MoltenMuffins


15

別のオプションはオーバーロードを使用すること+ operatorです:

>>> l = ['hello','world']
>>> l = ['foo'] + l
>>> l
['foo', 'hello', 'world']

1
ただ、見て、あなたはまた、末尾に追加されるようにし、それを使用することができます: l += ['foo']
Saun私トニHomedes

6

fooの前後にブラケットを置き、+ =を使用するのが最適です

list+=['foo']

5
>>> li = ['aaa', 'bbb']
>>> li.insert(0, 'wow!')
>>> li
['wow!', 'aaa', 'bbb']

4

変数名としてリストを使用しないでください。それはあなたがマスキングしている組み込みです。

挿入するには、リストの挿入機能を使用します。

l = ['hello','world']
l.insert(0, 'foo')
print l
['foo', 'hello', 'world']

これは正確ではありません。insert()2番目の引数を取ります。
Rafe Kettler

@RafeKettlerおっと、appendはplace引数がないものです。
スペンサーラスバン


0
ls=['hello','world']
ls.append('python')
['hello', 'world', 'python']

または(insertリストのインデックス位置を使用できる関数を使用)

ls.insert(0,'python')
print(ls)
['python', 'hello', 'world']

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.