次のように、いくつかのファイルを含むリストがあるとします。
file_list = ['folder\\text.txt', 'folder\\data.csv', 'folder\\picture.png']
また、文字列を宣言しました:
file = 'text.txt' #Did not include 'folder\\', intentionally.
'file'変数を使用してfile_listのインデックスを取得するにはどうすればよいですか?
私は以下を試しました:
index = file_list.index(file)
filename = file_list[index]
print(filename)
しかし、私はこの結果を得ています:
ValueError: 'text.txt' is not in list
ソリューションが失敗した理由は理解しましたが、文字列変数を使用してインデックスを取得するための効率的なソリューションはありますか?
の各要素をチェックしてfile_list
、file
:のインデックスを見つける必要があります。
def find_index(file, file_list):
for idx, file_name in enumerate(file_list):
if file in file_name:
print(f"idx:{idx}, file_name:{file_name}")
return idx
if __name__ == '__main__':
file_list = ['folder\\text.txt', 'folder\\data.csv', 'folder\\picture.png']
file = 'text.txt'
idx = find_index(file, file_list)
if idx:
print(file_list[idx])
else:
print(f"Couldn't find idx of {file} ")
出力:
idx:0, file_name:folder\text.txt
folder\text.txt
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加