Lists

Lists
 
are 
used 
to 
store 
values 
of 
the 
same/different 
types 
in 
one 
variable.
list_name=[value1, value2, value3,....]
person_1 = ['David', 12, 'Miami']
print(person_1)
['David', 12, 'Miami']

Indexing in Lists

List 
items 
can 
be 
numbered 
in 
the 
same 
way 
as 
strings 
(
indexing
).
list_name[index_number]
vowels = ['a', 'e', 'i', 'o', 'u']
print(vowels[3])
print(vowels[-3])#negative indexing is possible in lists
#-ve index-backward indexing
o
i

Slicing

Lists 
can 
be 
sliced 
again 
in 
the 
same 
way 
as 
strings.
We 
get 
a 
slice
 
of 
the 
list 
or 
sublist
 
by 
giving 
the 
starting
 
and 
ending
 
index. 
The 
ending 
index 
item 
does 
not 
get 
counted.
list_name[starting index: ending index]
vowels = ['a', 'e', 'i', 'o', 'u']
print(vowels[2:5])
['i', 'o', 'u']

Looping in list

Lists 
can 
be 
iterated 
over 
by 
using 
a 
loop 
in 
the 
same 
way 
as 
strings.
Each 
time 
the 
looping 
variable 
holds 
the 
value 
of 
each 
element 
in 
the 
list.
list_name=[item1,item2,item3,...]
for item in list_name:
  print(item)
vowels = ['a', 'e', 'i', 'o', 'u']
for letter in vowels:
  print(letter)
a
e
i
o
u
vowels = ['a', 'e', 'i', 'o', 'u']
print('b' in vowels)
False

Lists are mutable

In 
lists, 
items 
can 
be 
changed
 
by 
specifying 
their 
index
. 
This 
cannot 
be 
done 
in 
strings.
list_name[index] = value
If 
the 
starting
 
and 
ending
 
index 
of 
the 
list 
while 
slicing 
are 
the 
same
, 
Python 
adds 
the 
values 
between
 
the 
starting 
index 
and 
the 
ending 
index 
without 
replacing
 
the 
value 
already 
present 
at 
the 
same 
index 
of 
the 
list.
list_name[starting index: starting index] = [value1,value2]
numbers = [1,2,3,4,5]
numbers[0] = ‘111’
print(numbers)

a = [1, 2, 5, 6]
a[2:2] = [3, 4]
print(a)
[‘111’, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6]

Joining lists

Two 
or 
more 
lists 
can 
be 
joined
 
or 
concatenated
 
using 
the 
+
 
operator.
list_3=list_1+list2
list_1 = [1, 2]
list_2 = [3, 4]
print(list_1 + list_2)
[1, 2, 3, 4]

Repeating lists

Lists 
can 
be 
repeated 
many 
times
 
using 
the 
*
 
symbol.
We 
can 
only 
use 
integer 
after 
the 
* 
symbol, 
using 
a 
float 
value 
would 
raise 
an 
error.
list2=list1*integer_number
list_1 = [1, 2, 3]
print(list * 2)

nested_list = [1, 2, [3, 4]]
print(nested_list * 2)
[1, 2, 3, 1, 2, 3]
[1, 2, [3, 4], 1, 2, [3, 4]]