前提・実現したいこと
初めて利用します。
よろしくお願いします。
複数行あるテキストファイルから特定の文字列を抽出し、ソートして、重複をなくした結果を表示したいです。
発生している問題・エラーメッセージ
re.findall、set、list、sort、printを試しているが想定している結果が得られない。
該当のソースコード
Python
1#!/usr/bin/python 2import re 3 4path = 'log.txt' 5 6with open(path) as file: 7 for lines in file: 8 f = re.findall(r'[^/]*.jpg', lines) 9 s = set(f) 10 mylist = list() 11 mylist.append(s) 12 mylist.sort(s) 13 if len(s) > 0: 14 print(s)
試したこと
re.findallの戻り値がlist型のため直接 f.sort()とやってみたが上手くいかない。
sort、sortedをそれぞれ試したけどソートされない。
set()を使って結果を保存し、setをlistに変換し、sortするといいらしいので試したが上手くいかない。
理想的な出力としては、以下のように重複なく昇順で結果を出したい。
abc.jpg efg.jpg hij.jpg
しかし、実際は以下のようになってしまう。
set([]) set([]) set([]) set(['efg.jpg']) set(['hij.jpg']) set([]) set(['efg.jpg']) set(['abc.jpg']) set([])
補足情報(FW/ツールのバージョンなど)
Linux環境にて実施

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/18 00:25