2017-04-10 10 views
0

申し訳ありませんが、タイトルが説明的ではありません。基本的に、私はリスト内の特定の位置に単語を挿入してください

["The house is red.", "Yes it is red.", "Very very red."] 

のようなリストを持っていると私は真ん中の文字の間に、各列の最後の文字の後に、最初の文字の前に単語"super"を挿入したいと思います。だから私は最初の要素のためにこれのようなものを持っています:

["superThe houssupere is red.super",...] 

どうすればいいですか?私は文字列を使用して私の文字列の先頭に"super"文字列を追加し、len()を使用して文字列の中央に移動し、"super"を追加することができます。これをリストと連動させる方法はありますか、別のアプローチを試すべきですか?

+1

ようこそ。あなたが今までに試したこと、そしてうまくいかないこと(完全なエラーメッセージ、またはあなたが期待したものに比べて得た結果)を見せてください。それから、私たちはあなたの問題を解決するのを手伝います! –

+1

'li 'のiのsuper {0} super {1} super'.format(i [:len(i)// 2]、i [len(i)// 2:])。これはNAのように思える...奇妙な要求。 – miradulo

+0

これは、単一の文字列でこれを行う方法を既に知っています。関数make_super_string(x)があるとしましょう。マップを試してください(make_super_string、the_list)。一般的に、各エントリを変更するリストを反復することも、新しいリストを作成することもできます(オプションで、同じ変数に割り当ててスワップすることもできます)。 –

答えて

0

ここで使用される方法は、元のリストを反復し、各項目を2つの半分に分割し、.formatを使用して最後の項目文字列を作成してから新しいリストに追加することです。

orig_list = ["The house is red.", "Yes it is red.", "Very very red."] 
new_list = [] 
word = 'super' 

for item in orig_list: 
    first_half = item[:len(item) // 2] 
    second_half = item[len(item) // 2:] 
    item = '{}{}{}{}{}'.format(word, first_half, word, second_half, word) 
    new_list.append(item) 
関連する問題