# Python | Check if two lists match in a circle

| | | Examples :

` Input: list1 = [10, 10, 0, 0, 10] list2 = [10, 10, 10, 0, 0] Output: Yes Explanation: yes they are circularly identical as when we write the list1 last index to second last index, then we find it is circularly same with list1 Input: list1 = [10, 10, 10, 0, 0] list2 = [1, 10, 10, 0, 0] Output: No `

Method 1. Using list traversal

Using traversing , we have to double the given list. Check for any x (0 "= n) for any x + n and compare with list2 to see if list1 and list2 are the same, if both are the same then list2 is cyclically identical. Check this property using two loops. The first loop will run from 0 to len (list1) and then check if the index (x to x + n) is the same as list2, if yes then returns true, otherwise returns false.

Python implementation of the above approach:

 ` # Python program to check if two ` ` # lists circularly identical ` ` # using a workaround `   ` # function to check circular identity or not ` ` def ` ` circularly_identical (list1, list2): `   ` # doubling list ` ` list3 ` = ` list1 ` ` * ` ` 2 `   ` # crawl list twice1 ` ` for ` ` x ` ` in ` ` range ` ` (` ` 0 ` `, ` ` len ` ` (list1)): ` ` z ` ` = ` ` 0 `    ` # check if list2 == list1 briefly ` ` for ` ` y ` ` in ` ` range ` ` (x, x ` ` + ` ` len ` ` (list1)): ` ` if ` ` list2 [z] ` ` = ` ` = ` ` list3 [y]: ` ` z ` ` + ` ` = ` ` 1 ` ` else ` `: ` ` break `   ` # if all n elements are the same in a circle ` ` if ` ` z ` ` = ` ` = ` ` len ` ` (list1): ` ` return ` ` True `    ` return ` ` False ` ` `  ` `  ` `  ` # driver code ` ` list1 ` ` = ` ` [` ` 10 ` `, ` ` 10 ` `, ` ` 0 ` `, ` ` 0 ` `, ` ` 10 ] `` list2 = [ 10 , 10 , 10 , 0 , 0 ] list3 = [ 1 , 10 , 10 , 0 , 0 ]     # check list 1 and list 2 if < / code> (circularly_identical (list1, list2)): print " Yes "  else : print "No"   # check list 2 and list 3 if (circularly_identical (list2, list3)): print " Yes "  else : print "No"  `

Exit :

` Yes No `

C tutorial 1: using the map () function

Using the Python built-in function map (), we can do this in one step where we need to map list2 to a string and then see if it exists when mapping a double from list1 (2 * list1) to on another line.

Below is the Python implementation of the above approach:

 ` # Python program to check if two ` ` # the lists are circularly identical ` ` # using the map function `   ` # function to check circular identity or not ` ` def ` ` circularly_identical (list1, list2): ` ` `  ` ` ` return ` ` ( ` ` ’’ ` `. join (` ` map ` ` (` ` str ` `, list2)) ` ` in ` ` ’’ ` `. join (` ` map ` ` (` ` str ` `, list1 ` ` * ` ` 2 ` `))) `     ` # driver code ` ` list1 ` ` = ` ` [` ` 10 ` ` , ` ` 10 ` `, < / code> 0 , 0 , 10 ] `` list2 = [ 10 , 10 , 10 , 0 , 0 ] list3 = [ 1 , 10 , 10 , 0 , 0 ]      # check list 1 and list 2 if (circularly_identical (list1, list2)): print "Yes"   else : print "No"   # check list 2 and list 3 if (circularly_identical (list2, list3)): print "Yes"   else : `` print < code class = "string"> "No" `

Exit:

` Yes No `

## Shop 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

\$ Best laptop for Zoom

\$499 Best laptop for Minecraft

\$590

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

NUMPYNUMPY

How to convert Nonetype to int or string?

NUMPYNUMPY

How to specify multiple return types using type-hints

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

## Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method