Change language

# Python | Combining duplicates into a list of list

|

Method # 1: Using `collections.Counter()`
This particular function can be very useful for this particular task as it counts the frequency of items in list, and then we can link them using a list comprehension.

 ` # Python3 demo code ` ` # group similar items as a list ` ` # use collection.Counter () ` ` import ` ` collections `   ` # initializing list ` ` test_list ` ` = ` ` [ ` ` 1 ` `, ` ` 3 ` , ` 4 ` `, ` ` 2 ` `, ` ` 1 ` `, ` ` 3 ` `, ` ` 4 ` `, ` ` 2 ` `, ` ` 3 ` `, ` ` 4 ` `, ` ` 1 ` `] `   ` # print original list ` ` print ` ` (` ` "The original list:" ` ` + ` ` str ` ` (test_list)) `   ` # using collection.Counter () ` ` # grouping similar items as a list ` ` temp ` ` = ` ` collections.Counter (test_list) ` ` res ` ` = ` ` [[i] ` ` * ` ` j ` ` for ` ` i, j ` ` in ` ` temp.items ()] `   ` # print result ` ` print ` ` (` ` "The elements after grouping are:" ` ` + ` ` str ` ` (res)) `

Output:

` The original list: [1, 3, 4, 2, 1, 3 , 4, 2, 3, 4, 1] The elements after grouping are: [[1 , 1, 1], [2, 2], [3, 3, 3], [4, 4, 4]] `

Method # 2: Using ` itertools.groupby () `
This problem can be easily solved with the traditional groupby functionality offered by Python through the groupby function, which groups similar elements as suggested by name.

 ` # Python3 demo code ` ` # grouping similar elements in a list ` ` # using itertools.groupby () ` ` import ` ` itertools `   ` # initializing list ` ` test_list ` ` = ` ` [` ` 1 ` `, ` 3 `, ` ` 4 ` `, ` ` 2 ` `, ` ` 1 ` `, ` ` 3 ` `, ` ` 4 ` ` , ` ` 2 ` `, ` ` 3 ` `, ` ` 4 ` `, ` ` 1 ` `] `   ` # print original list ` ` print ` ` (` ` "The original list:" ` ` + ` ` str ` ` (test_list)) `   ` # using ite rtools.groupby () ` ` # grouping similar elements as a list ` ` res ` ` = ` ` [` ` list ` ` ( i) ` ` for ` ` j, i ` ` in ` ` itertools.groupby (` ` sorted ` ` (test_list))] `   ` # print result ` ` print ` ` (` ` "The elements after grouping are:" ` ` + ` ` str ` ` (res)) `

Output:

` The original list: [1, 3, 4, 2, 1, 3, 4, 2, 3, 4, 1] The elements after grouping are: [[1, 1, 1], [2, 2], [3, 3, 3], [4, 4, 4]] `

## Shop

Learn programming in R: courses

\$

Best Python online courses for 2022

\$

Best laptop for Fortnite

\$

Best laptop for Excel

\$

Best laptop for Solidworks

\$

Best laptop for Roblox

\$

Best computer for crypto mining

\$

Best laptop for Sims 4

\$

Latest questions

NUMPYNUMPY

Common xlabel/ylabel for matplotlib subplots

NUMPYNUMPY

How to specify multiple return types using type-hints

NUMPYNUMPY

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

NUMPYNUMPY

Flake8: Ignore specific warning for entire file

NUMPYNUMPY

glob exclude pattern

NUMPYNUMPY

How to avoid HTTP error 429 (Too Many Requests) python

NUMPYNUMPY

Python CSV error: line contains NULL byte

NUMPYNUMPY

csv.Error: iterator should return strings, not bytes

## Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

How to specify multiple return types using type-hints

Printing words vertically in Python

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries