我想通過使用list-comprehentions在單行中編寫一個4-5行代碼。但這裏的問題是,我不能使用插入功能,所以即時通訊想知道是否有解決這個問題的方法?python插入函數列表comprehentions
原始代碼:
def order(text):
text = text.split()
for x in text:
for y in x:
if y in ('1','2','3','4','5','6','7','8','9'):
final.insert(int(y)-1, x)
return final
是我迄今爲止嘗試:
return [insert(int(y)-1, x) for x in text.split() for y in x if y in ('1','2','3','4','5','6','7','8','9')]
但我已經遇到了以下錯誤:
NameError:全局名稱 '插入' 沒有定義
我試圖使用insert因爲任務是使用每個單詞中顯示的數字重新排列列表中的項目。
,比如我有is2 Th1is T4est 3a
作爲輸入,它應該站出來爲:Th1is is2 3a T4est
沒有插入功能。 'final.insert'是一個*方法*,並且不顯示實際是什麼'final'(大概是一個列表)。還要注意,你不應該使用列表解析的副作用 - 'list.insert'返回'None',我懷疑你想要的列表。 – jonrsharpe
1.什麼是'final'? 2.列舉解釋_build list-on-the-fly_,所以你現在正在考慮將字段插入_nowhere_,因爲還沒有創建列表。 3.是的,沒有標準函數稱爲「插入」,爲什麼你期望它存在呢? – ForceBru
@ForceBru Final是我在原始代碼中使用的列表。有沒有辦法爲這種列表理解運行該表達式?像「自插入」 –