Get unique values in List of Lists
array = [['a','b'], ['a', 'b','c'], ['a']]
result = {x for l in array for x in l}
How to get only distinct values from a list?
This is what you needed with set()
:
>>> lst1 = ['A','A','A','B','C','C','D','D','D','B','B']
>>> list(set(lst1))
['A', 'B', 'D', 'C']
Another solution OrderedDict
to keep the order of keys during insertion.
>>> from collections import OrderedDict
>>> list(OrderedDict.fromkeys(lst1))
['A', 'B', 'C', 'D']
In case you have liberty to use pandas then try below ones..
>>> import pandas as pd
>>> drop_dups = pd.Series(lst1).drop_duplicates().tolist()
>>> drop_dups
['A', 'B', 'C', 'D']
In case you are looking for common values between two files:
$ cat getcomn_vals.py
#!/python/v3.6.1/bin/python3
def print_common_members(a, b):
"""
Given two sets, print the intersection, or "No common elements".
Remove the List construct and directly adding the elements to the set().
Hence assigned the dataset1 & dataset2 directly to set()
"""
print('\n'.join(s.strip('\n') for s in a & b) or "No common element")
with open('file1.txt') as file1, open('file2.txt') as file2:
dataset1 = set(file1)
dataset2 = set(file2)
print_common_members(dataset1, dataset2)
Get a list of distinct values in List
Notes.Select(x => x.Author).Distinct();
This will return a sequence (IEnumerable<string>
) of Author
values -- one per unique value.
How to get a unique value from a list in python
Count the items, keep only those which have a count of 1:
>>> data = ['a','a','b','a']
>>> from collections import Counter
>>> [k for k,v in Counter(data).items() if v == 1]
['b']
Add only unique values to a list in python
To eliminate duplicates from a list, you can maintain an auxiliary list and check against.
myList = ['Arise', 'But', 'It', 'Juliet', 'Who', 'already', 'and', 'and', 'and',
'breaks', 'east', 'envious', 'fair', 'grief', 'is', 'is', 'is', 'kill', 'light',
'moon', 'pale', 'sick', 'soft', 'sun', 'sun', 'the', 'the', 'the',
'through', 'what', 'window', 'with', 'yonder']
auxiliaryList = []
for word in myList:
if word not in auxiliaryList:
auxiliaryList.append(word)
output:
['Arise', 'But', 'It', 'Juliet', 'Who', 'already', 'and', 'breaks', 'east',
'envious', 'fair', 'grief', 'is', 'kill', 'light', 'moon', 'pale', 'sick',
'soft', 'sun', 'the', 'through', 'what', 'window', 'with', 'yonder']
This is very simple to comprehend and code is self explanatory. However, code simplicity comes on the expense of code efficiency as linear scans over a growing list makes a linear algorithm degrade to quadratic.
If the order is not important, you could use set()
A set object is an unordered collection of distinct hashable objects.
Hashability makes an object usable as a dictionary key and a set member, because these data structures use the hash value internally.
Since the average case for membership checking in a hash-table is O(1), using a set is more efficient.
auxiliaryList = list(set(myList))
output:
['and', 'envious', 'already', 'fair', 'is', 'through', 'pale', 'yonder',
'what', 'sun', 'Who', 'But', 'moon', 'window', 'sick', 'east', 'breaks',
'grief', 'with', 'light', 'It', 'Arise', 'kill', 'the', 'soft', 'Juliet']
How to get unique values from a python list of objects
Use a set
comprehension. Sets are unordered collections of unique elements, meaning that any duplicates will be removed.
cars = [...] # A list of Car objects.
models = {car.model for car in cars}
This will iterate over your list cars
and add the each car.model
value at most once, meaning it will be a unique collection.
How to make lists contain only distinct element in Python?
The simplest is to convert to a set then back to a list:
my_list = list(set(my_list))
One disadvantage with this is that it won't preserve the order. You may also want to consider if a set would be a better data structure to use in the first place, instead of a list.
Related Topics
Declaring a New Instance of a Class in C#
How to Implement Gzip Compression in ASP.NET
Getting Hash of a List of Strings Regardless of Order
How to Run a .Net 4.5 App on Xp
I Want to Understand the Lambda Expression in @Html.Displayfor(Modelitem => Item.Firstname)
Entity Framework Code First Lazy Loading
How to Include Line Numbers in a Stack Trace Without a Pdb
How to Copy a File While It Is Being Used by Another Process
Await Operator Can Only Be Used Within an Async Method
Class List Keeps Printing Out as Class Name in Console
Handling the Window Closing Event with Wpf/Mvvm Light Toolkit
How to Group Windows Form Radio Buttons
What Is the Efficiency and Performance of Linq and Lambda Expression in .Net
Suppress Properties with Null Value on ASP.NET Web API
Entity Framework/Linq to SQL: Skip & Take