以下のリストから、重複しないナンバーの要素番号のみを羅列したいのですが、
どのように記載したらよろしいでしょうか。
ご教示お願いいたします。
for e in ret:
print(e)
結果↓
No.100000077023
No.100000077023
No.100000077023
No.100000077022
No.100000077021
No.100000077021
No.100000077021
No.100000077016
No.100000077016
No.100000077015
No.100000077014
No.100000077013
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
python
1>>> l = [f'No.{s}' for s in '11234445'] 2>>> d = {} 3>>> for i, v in enumerate(l, start=1): 4... d.setdefault(v, i) 5>>> d 6{'No.1': 1, 'No.2': 3, 'No.3': 4, 'No.4': 5, 'No.5': 8}
投稿2022/06/29 02:35
総合スコア11038
0
['No.1', 'No.1', 'No.2', 'No.3', 'No.4', 'No.4', 'No.4', 'No.5']
から登場回数1回の配列の番号を以下のように記載したい場合は、どうしたらよろしいでしょうか。
1,3,4,5,8
python
1data = ['No.1', 'No.1', 'No.2', 'No.3', 'No.4', 'No.4', 'No.4', 'No.5'] 2 3print(sorted([data.index(i) + 1 for i in set(data)]))
投稿2022/06/29 02:07
総合スコア19791
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
['No.1', 'No.1', 'No.2', 'No.3', 'No.4', 'No.4', 'No.4', 'No.5']
から登場回数1回の配列の番号を以下のように記載したい場合は、どうしたらよろしいでしょうか。
1,3,4,5,8
以下のようにしてください。
pyhton3
1data = ['No.1', 'No.1', 'No.2', 'No.3', 'No.4', 'No.4', 'No.4', 'No.5'] 2dicT = {} 3for i in range(len(data)): 4 if data[i] not in dicT: 5 print(i+1) 6 dicT[data[i]] = True
実行結果
1
3
4
5
8
投稿2022/06/29 01:57
総合スコア5438
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
collections.Counterで各要素の個数が得られるので、重複しない=1個のみの要素を抽出すればよいです。
Python
1from collections import Counter 2 3l = [f'No.{s}' for s in '11234445'] 4print(l) # ['No.1', 'No.1', 'No.2', 'No.3', 'No.4', 'No.4', 'No.4', 'No.5'] 5 6c = Counter(l) 7print(c) # Counter({'No.4': 3, 'No.1': 2, 'No.2': 1, 'No.3': 1, 'No.5': 1}) 8 9ret = [k for k,v in c.items() if v <= 1] 10print(ret) # ['No.2', 'No.3', 'No.5']
投稿2022/06/29 01:39
総合スコア38266
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/29 01:44
2022/06/29 01:51
2022/06/29 02:06
2022/06/29 02:12 編集
0
OrderedDictを使用して、重複をなくした新しいリストを作るという方法はいかがでしょうか?
Python
1from collections import OrderedDict 2 3new_list = OrderedDict.fromkeys(ret) 4 5for e in new_list: 6 print(e)
投稿2022/06/29 01:35
総合スコア150
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/29 01:45
2022/06/29 01:53
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。