(3.5)でさらにへつのリストから値を挿入:パイソン - 私はこのような長いリストがある場合、Pythonで事前定義されたスポット
long_list = ['0','1','0','1','0','0'.'0'.'1','1','0']
の数と長さが等しい短いリスト「このようなlong_listで1代、:私は新しいリストを作成する方法を
short_list = [8,7,6,5]
ことがある指標のそれぞれで私のlong_listへの 『挿入』私short_listの値が 『1』、および用一貫性のために、long_listの '0'をある数字(例えば99)で "置き換え"ます。
私は驚異的なforループでこれを行うことができましたが、これをリストの理解度で効率的に行う方法があるようですね。
# bad solution
new_list = []
x = 0
for i in range(len(long_list)):
if long_list[i] == '0':
new_list.append(99)
else:
new_list.append(short_list[x])
x += 1
所望の出力:イテレータと使用リスト内包に
new_list = [99,8,99,7,99,99,99,6,5,99]
'' short_list'には、 '' long_list'に '' 1''という数だけの値が必ずありますか? – roganjosh
はい、このアプリケーションのためです。短いリストは長いリストから得られます。実際の使用方法を説明するにはあまりにも多くの情報が必要です(上記の例は実際のデータを基にしたおもちゃの例です)。しかし、短いリストには1と同じ数の値があります。 – user1895076