におけるいくつかのリスト項目をマージ私はこのようなリストを持っていると言う:はPythonのリスト
[a, b, c, d, e, f, g]
それはこのようになりますように、そのリストを変更するにはどうすればよいですか?
[a, b, c, def, g]
新しいリストを作成せずに、既存のリストを直接変更することをお勧めします。
におけるいくつかのリスト項目をマージ私はこのようなリストを持っていると言う:はPythonのリスト
[a, b, c, d, e, f, g]
それはこのようになりますように、そのリストを変更するにはどうすればよいですか?
[a, b, c, def, g]
新しいリストを作成せずに、既存のリストを直接変更することをお勧めします。
この例はかなり曖昧ですが、このようなものでしょうか?
items = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
items[3:6] = [''.join(items[3:6])]
それは基本的にスプライス(またはassignment to a slice)操作を行います。アイテム3〜6を削除し、その場所に新しいリストを挿入します(この場合、削除された3つのアイテムの連結である1つのアイテムのリスト)。
どのタイプのリストでも、この(関係なく自分のタイプが何であるか、すべての項目の+
演算子を使用していない):
items = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
items[3:6] = [reduce(lambda x, y: x + y, items[3:6])]
マージはどのような基準で行われますか?あなたの質問はむしろあいまいです。また、a、b、...、fは文字列、つまり 'a'、 'b'、...、 'f'であると仮定します。
>>> x = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> x[3:6] = [''.join(x[3:6])]
>>> x
['a', 'b', 'c', 'def', 'g']
特にmutable sequence typesに、sequence types上のドキュメントを参照してください。そしておそらくstring methodsにも。
私のテレパシー能力は特に素晴らしいではありませんが、ここで私はあなたが欲しいと思うものです:
def merge(list_of_strings, indices):
list_of_strings[indices[0]] = ''.join(list_of_strings[i] for i in indices)
list_of_strings = [s for i, s in enumerate(list_of_strings) if i not in indices[1:]]
return list_of_strings
私は注意してください、それはそれは他で提案されているものと同じではないことは明らかではないかもしれないので、答え。
は何に基づいてちょうど変動
alist=["a", "b", "c", "d", "e", 0, "g"]
alist[3:6] = [''.join(map(str,alist[3:6]))]
print alist
マージは場所を取る必要がありますか? – Stephan202
a、bなど(つまり、どのデータ型)ですか?現状では、これをPythonインタプリタに入力すると、バインドされていない名前なのでエラーになります。 –
リスト内のこれらのアイテムを常に連結したい場合、または後でどこを選択できるようにしたいのですか。 – tgray