2017-04-10 62 views
0

對不起,如果標題不夠描述。基本上,我有一個像將單詞插入列表中的特定位置

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

名單,我想第一個字符前插入字"super",中間字符之間和每個字符串的最後一個字符之後。所以我會有這樣的第一個元素:

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

我該怎麼做?我知道用字符串我可以使用添加"super"字符串到我的字符串的開頭,然後使用len()去字符串的中間,並添加"super"。有沒有辦法讓這個與列表一起工作,還是我應該嘗試一種不同的方法?

+1

歡迎來到SO。請告訴我們您到目前爲止所嘗試的內容,以及什麼不起作用(完整的錯誤信息,或者您獲得的結果與您預期的結果相比較)。那麼我們可以幫助你解決你的問題! –

+1

'['super {0} super {1} super'.format(i [:len(i)// 2],i [len(i)// 2:])for i in li]'?.這看起來像是......奇怪的請求。 – miradulo

+0

您已經知道如何使用單個字符串來完成此操作。假設你有一個函數make_super_string(x)。試試map(make_super_string,the_list)。通常,您可以遍歷列表來更改每個條目,也可以創建一個新列表(也可以將其分配給同一個變量)。 –

回答

0

此處使用的方法是遍歷原始列表,將每個項目拆分成兩半,然後使用.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) 
相關問題