# Python – Difference between Uni length slicing and Access Notation

Last Updated : 31 Aug, 2022

There are various ways to extract elements, Uni length slicing and Access Notations are among them. Let’s check difference between them.

Difference #1 : Different behaviour with Different Containers

The access notation return element in both List and Strings, but return 1 length strings while slicing using uni length slice and element in case of strings.

## Python3

 `# Python3 code to demonstrate working of ` `# Difference between Uni length slicing and Access Notation` `# In different containers`   `# initializing lists` `test_list ``=` `[``5``, ``7``, ``2``, ``6``, ``8``, ``1``]`   `# initializing string ` `test_str ``=` `"572681"`   `# printing original list` `print``(``"The original list : "` `+` `str``(test_list))`   `# printing string` `print``(``"The original string : "` `+` `str``(test_str))` `print``(``"\r"``)`   `# access Notation results ` `acc_list ``=` `test_list[``3``]` `acc_str ``=` `test_str[``3``]`   `# unilength slicing results ` `slc_list ``=` `test_list[``3` `: ``4``]` `slc_str ``=` `test_str[``3` `: ``4``]`   `# printing results ` `print``(``"The access notation result for list : "` `+` `str``(acc_list))` `print``(``"The access notation result for string : "` `+` `str``(acc_str))` `print``(``"\r"``)` `print``(``"The slicing result for list : "` `+` `str``(slc_list))` `print``(``"The slicing result for string : "` `+` `str``(slc_str))`

Output

```The original list : [5, 7, 2, 6, 8, 1]
The original string : 572681

The access notation result for list : 6
The access notation result for string : 6

The slicing result for list : [6]
The slicing result for string : 6```

Difference #2 : No Index out of bounds Exception in case of Slice operation

There is no out of bounds exception in case of Slice Operation, but there is, in case of access notation.

## Python3

 `# Python3 code to demonstrate working of ` `# Difference between Uni length slicing and Access Notation` `# No Index out of bounds Exception in case of Slice operation`   `# initializing lists` `test_list ``=` `[``5``, ``7``, ``2``, ``6``, ``8``, ``1``]`   `# printing string` `print``(``"The original list : "` `+` `str``(test_list))`   `# access Notation results ` `try` `:` `    ``acc_list ``=` `test_list[``17``]` `except` `Exception as e:` `    ``acc_list ``=` `str``(e)` `    `  `# unilength slicing results ` `slc_list ``=` `test_list[``17` `: ``18``]`   `# printing results ` `print``(``"The access notation result for list : "` `+` `str``(acc_list))` `print``(``"The slicing result for list : "` `+` `str``(slc_list))`

Output

```The original list : [5, 7, 2, 6, 8, 1]
The access notation result for list : list index out of range
The slicing result for list : []```

The Time and Space Complexity for all the methods are the same:

Time Complexity: O(n)

Auxiliary Space: O(n)