私はlist-comprehentionsを使用して1行に4-5行のコードを書き込もうとしています。しかし、ここでの問題は、私はインサートファンクションを使用することができないので、これに対して回避策があるかどうか疑問に思っていますか?python insert function list 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:グローバル名 'インサートは' が定義されていません
私はインサートこれは、各単語に表示される番号を使用してリスト内の項目を並べ替えることにあります。あなたのすべき重要な機能でこれらの数字を使用してちょうどsort
リスト、例えば、代わりにリストの内包表記を使用してのTh1is is2 3a T4est
には、インサート機能はありません。 'final.insert'は* method *であり、あなたは' final'が実際に何であるかを表示しません(リスト、おそらく)。また、副作用のためにリスト内包を使うべきではないことにも注意してください。 'list.insert'は' None'を返します。 – jonrsharpe
1.「最終」とは何ですか? 2.リスト内包表記_buildはオンザフライでリストに載っているので、まだリストが作成されていないので、文字通り「挿入」することを考えています。 3.はい、標準的な関数は 'insert'と呼ばれていませんが、どうしてそれはとにかく存在すると思いますか? – ForceBru
@ForceBru Finalは、元のコードで使用したリストです。このようなリストのコンパクションのためにその式を実行する方法はありますか? –