私はクレヨンの製造元向けのプログラムを作成しています。彼らは4パックの在庫を持っています(今はデバッグの出発点です)。ネストしたリストの特定のリストの値を置換する
colors=[['pink','green','blue'],['blue','green','red'],['pink',blue','yellow'],['orange','pink','yellow']]
私は緑の色のより多くの様々なパックを取得するために真ん中にある2つのパックでクレヨンの色を変更したい:私は、リストにあることを示しました。 まず私が真ん中に緑の持つすべてのパックを見つける:
packsfound = []
for pack in colors:
if pack[1]=="green":
packsfound.append(pack)
print("packs with one:",packsfound)
その後、私は私が在庫から(色)を選択したので、彼らは修正され、後で戻すことができるパックを削除します。
try:
for pack in packsfound:
colors.remove(pack)
except Exception as e:
print(e)
pass
その後、私は交換を行います。彼らは在庫が新しく追加されたので
for pack in packsfound:
try:
for i, color in enumerate(packsfound):
position=color.index("green")
print("replace at:",position)
break
pack[position]="yellow"
print("replaced rows:",packsfound)
except Exception as e:
print(e)
pass
その後、私は、問題はそれだけを通過するということである
try:
for pack in packsfound:
colors.append(pack)
except Exception as e:
print(e)
pass
print(colors)
バックの色に変更リストを追加最初のリストを置き換え、最初の緑を置き換えます。その後、プログラムは緑がリストされておらず、第2のグリーンに代わるものではありませんと言う:私は休憩を追加して、試して移動して除くと、ループの中と外の交換ラインを動かすような多くのことを試してみました
packs with one: [['pink', 'green', 'blue'], ['blue', 'green', 'red']]
replace at: 1
replaced rows: [['pink', 'yellow', 'blue'], ['blue', 'green', 'red']]
'green' is not in list
[['pink', 'blue', 'yellow'], ['orange', 'pink', 'yellow'], ['pink', 'yellow', 'blue'], ['blue', 'green', 'red']]
をし、合格だが何も働かない。
Heh ... @Toothlessと同じ応答です。 12秒でビート! xD – musikreck