我正在嘗試編寫更簡單的代碼,將獨特的元素添加到python列表中。我有一個包含字典列表的數據集,並且我試圖遍歷字典中的列表Python列表理解:在列表中添加獨特的元素?
爲什麼不能正常工作?它將添加所有項目,包括重複項目,而不是添加唯一項目。
unique_items = []
unique_items = [item for d in data for item in d['items'] if item not in unique_items]
與該工作更長的形式:
unique_items = []
for d in data:
for item in d['items']:
if (item not in unique_items):
unique_items.append(item)
是否有使用列表理解使這項工作的一種方式,還是我堅持使用雙for循環?我想保持這個順序。
這裏的字典列表:
[{"items":["apple", "banana"]}, {"items":["banana", "strawberry"]}, {"items":["blueberry", "kiwi", "apple"]}]
輸出應[ 「蘋果」, 「香蕉」, 「草莓」, 「藍莓」, 「獼猴桃」]
我注意到有人問了在另一個帖子上的類似問題:Python list comprehension, with unique items,但我想知道是否有另一種方法沒有OrderedDict或如果這是最好的方式
請提供更多信息:您的列表清單對任何提供幫助的人都很有用。 – Abdou
使用一套更好,它會得到所有重複的rip – Copperfield
你想保持排序? – niemmi