Machine Learning in Cloud

Machine Learning in Cloud

List

Lists are mutable

Elements with a list can be deleted, shifted, updated or modified after the list has been created. You can change each element of a list or append new elements to a list.

You can use assignment operator (=) to change an item or a range of items.

Updating a single element

A single value in a list can be replaced by indexing and assignment operator.

my_list = [2, 3, 4, 5, 5, 7, 8, 1,5, 6, 2, 9, 0]
my_list[5] = 2020

Output:

[2, 3, 4, 5, 5, 2020, 8, 1, 5, 6, 2, 9, 0]

You can use negative index too.

my_list = [2, 3, 4, 5, 5, 7, 8, 1,5, 6, 2, 9, 0]
my_list[-3] = 2020

Output:

[2, 3, 4, 5, 5, 7, 8, 1, 5, 6, 2020, 9, 0]

Updating multiple elements

Multiple elements can be update by specifying the elements index.

my_list = [2, 3, 4, 5, 5, 7, 8, 1,5, 6, 2, 9, 0]
my_list[5:8] = [2018, 2019, 2020] 

Output:

[2, 3, 4, 5, 5, 2018, 2019, 2020, 5, 6, 2, 9, 0]

Deleting a single element

An element or elements can be deleted using del keyword.

Delete an element

my_list = [2, 3, 4, 5, 5, 7, 8, 1,5, 6, 2, 9, 0]
del my_list[5]

Output:

[2, 3, 4, 5, 5, 8, 1, 5, 6, 2, 9, 0]

Delete multiple elements

my_list = [2, 3, 4, 5, 5, 7, 8, 1,5, 6, 2, 9, 0]
del my_list[3:6]

Output:

[2, 3, 4, 8, 1, 5, 6, 2, 9, 0]

First example deletes element [7], second example deletes three elements [5, 5, 7].

Prepending or appending elements to a list

An element or elements can be added to the start or end of a list using the + operator. This is also called concatenation.

Prepend

my_list = [2, 3, 4, 5, 5, 7, 8, 1,5, 6, 2, 9, 0]
[343, 564] + my_list

Output:

[343, 564, 2, 3, 4, 5, 5, 7, 8, 1, 5, 6, 2, 9, 0]

Append

my_list = [2, 3, 4, 5, 5, 7, 8, 1,5, 6, 2, 9, 0]
my_list + [343, 564]

Output:

[2, 3, 4, 5, 5, 7, 8, 1, 5, 6, 2, 9, 0, 343, 564]

If you want to add a single element, we have to wrap it in square brackets []. Otherwise, Python raises a TypeError.

my_list = [2, 3, 4, 5, 5, 7, 8, 1,5, 6, 2, 9, 0]
my_list = 22 + my_list

Output:

TypeError       Traceback (most recent call last)<ipython-input-11-57d83415c5aa> in <module>()      1 my_list = [2, 3, 4, 5, 5, 7, 8, 1,5, 6, 2, 9, 0]      2 ----> 3 my_list = 22 + my_list
TypeError: unsupported operand type(s) for +: \'int\' and \'list\'

The = assignment operator can be used to save the prepending or appending elements.

Prepend

# Elements addition
my_list = [2, 3, 4, 5, 5, 7, 8, 1,5, 6, 2, 9, 0]
my_list = [343, 564] + my_list
print(my_list)

Output:

[343, 564, 2, 3, 4, 5, 5, 7, 8, 1, 5, 6, 2, 9, 0]

Append

# Elements addition
my_list = [2, 3, 4, 5, 5, 7, 8, 1,5, 6, 2, 9, 0]
my_list = my_list + [343, 564]
print(my_list)

Output:

[2, 3, 4, 5, 5, 7, 8, 1, 5, 6, 2, 9, 0, 343, 564]

The += augmented assignment operator works only when we append elements to a list

Prepend

# Elements addition
my_list = [2, 3, 4, 5, 5, 7, 8, 1,5, 6, 2, 9, 0]
[343, 564] += my_list

Output:

  File \"<ipython-input-9-3ec7d1771475>\", line 3
    [343, 564] += my_list
                         ^
SyntaxError: can\'t assign to literal

Append

# Elements addition
my_list = [2, 3, 4, 5, 5, 7, 8, 1,5, 6, 2, 9, 0]
my_list += [343, 564]
print(my_list)

Output:

[2, 3, 4, 5, 5, 7, 8, 1, 5, 6, 2, 9, 0, 343, 564]

The * operator repeats a list for a given number of times.

my_cities = [\'Krakow\', \'Warsaw\', \'Lodz\', \'Kielce\']
my_cities * 3

Output:

[\'Krakow\', \'Warsaw\', \'Lodz\', \'Kielce\', 
 \'Krakow\', \'Warsaw\', \'Lodz\', \'Kielce\', 
 \'Krakow\', \'Warsaw\', \'Lodz\', \'Kielce\']

Next: List methods

Previous Article
Next Article