最終的な文字を除いて一致するファイル名を見つけ出し、1つの文字列に連結するためにリストをループしています。一致する文字列の長いリストをPythonループで連結して連結します。
難しいのは、ファイル名ごとに一致する量がさまざまなため、一致するファイルが1つ、一致するファイルが2つ、3つまたは4つあります。
私は、重複を避けるためにすでにマッチしたループの反復を試して移動するために 'skip'変数を使用しています。
私は、おそらくリストから要素を取得するために 'i'変数を使用して問題が発生すると思いますが、わかりません。
あなたはおそらく私がPythonとプログラミングに新しいと私には見えない私のロジックのどこかに深刻な欠陥があると言うことができます!不明な点があれば、私ができる限り最善を尽くすように説明し、どんな助けでも大いに感謝します。
reader = [34113751IHF.jpg, 34113751IHR.jpg, 34136676OTD.jpg, 34136676OTF.jpg, jpg34136676OTR.jpg, 34136676OTF.jpg, 34136676OTR.jpg, 34139933EDD.jpg, 34139933EDF.jpg, 34144626KXF.jpg, 34144626KXR.jpg]
iterable = iter(reader)
skip = 0
for i, j in enumerate(iterable):
firstURL = str(j)[2:-2]
firstShorter = str(reader[i+1])[2:-3]
secondURL = str(reader[i+1])[2:-2]
secondShorter = str(reader[i+1])[2:-3]
if firstShorter == secondShorter:
toWrite = firstURL + ".jpg|" + secondURL + ".jpg"
thirdURL = str(reader[i+2])[2:-2]
thirdShorter = str(reader[i+2])[2:-3]
skip = 2
if secondShorter == thirdShorter:
toWrite += "|" + thirdURL + ".jpg"
fourthURL = str(reader[i+3])[2:-2]
fourthShorter = str(reader[i+3])[2:-3]
skip = 3
if thirdShorter == fourthShorter:
toWrite += "|" + thirdURL + ".jpg"
fifthURL = str(reader[i+4])[2:-2]
fifthShorter = str(reader[i+4])[2:-3]
skip = 4
else:
toWrite = firstURL + ".jpg"
skip = 1
[iterable.__next__() for x in range(skip)]
期待する出力を書き留めてください。あなたの問題を理解することは非常に難しいです。次のようなリストが必要ですか:["34113751IHF34113751IHR"、 "34136676OTD34136676OTF"、...]? –