集合を順序を保持したままリスト化したいです。
views.pyに
def response(request): s = set() with open('app/id.txt', 'r') as f: for line in f: s |= set(map(int, line.rstrip().split(',')[:-1])) s = list(s) s = sorted(set(s), key=s.index) print(s)
とコードを書いて実行すると
print(s)では、[800, 2, 3, 100, 4, 5, 6, 200, 300, 500]と表示されました。
id.txtでは
100,2, 300,3, 500,4, 800,5, 200,6,
という順序で書かれており、print(s)では[100,2,300,3,500,4,800,5,200,6]と表示させたいのですがそれができません。
views.pyで、
def response(request): s = set() with open('app/id.txt', 'r') as f: for line in f: s = set(s) s |= map(int, line.rstrip().split(',')[:-1]) print(s)
や
def response(request): s = set() with open('app/id.txt', 'r') as f: for line in f: s |= sorted(set(map(int, line.rstrip().split(',')[:-1])), key=s.index) print(s)
と書いて試したのですが、エラーで落ちてしまいました。どう直せばよいのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/10/31 08:53
2017/10/31 08:56
退会済みユーザー
2017/10/31 09:13