Follow

# Harshit Saini's Blog

Follow # Lists in Python

Harshit Saini
·Mar 30, 2021·

``````# ============================
# Lits
# in lists every element can be of different type

letters = ["a", "b", "c"]
matrix = [[1,2], [3,4]]

# repeating items in a list
print ( * 10)
# this will print [0,0,0,0,0,0,0,0,0,0]

# concating lists
zeros =  * 5
combined  = zeros + letters

# the lists function
numbers = list(range(20))       # as the range function gives an itterable
# this will create a list from 0 to 19

char = list("harshit saini")
``````

### Accessing the elements

``````   # access 0th element
[-1]  # access 1st element from the last
[0:3]  # from elements from 0 to 2
[:3]  # from 0 to 2
[0:]  # from 0 to end
[:]  # from 0 to end

[::2]  # from 0 to end and every 2nd element only

[::-1]  # get all items in reverse order
``````

### List Unpacking

like object destructuring in js

``````numbers = [1,2,3]
first, second, third = numbers

# the number of variables on the left
# should be equal to numbers of elements in the list

first, *others  = numbers
# we get the first and every thing
# else is packed inside others list

# this is called packing

first, *other, last = numbers
# this is how we can take the first and the last element
``````

### Looping over the list

``````l = list("harshit-saini")
for ch in l:
print(ch)

# this way the ch will have only elements in the list
# and it will print only the element

l = list("harshit-saini")
for ch in enumerate(l):
print(ch)
print ("index is" , ch)
print ("element is ", ch)

# this way ch will be a tuple which contains the
# index and the element itself
``````

``````# adding and removing items
g = [1,2,3,4,5]

g.append(10)        # adding to the last
g.insert(0, 10)      # inserting 10 at index 0

g.pop()         # remove the last element
g.pop(0)     # remove element fron index 0
g.remove(1)       # remove 1 from the list (first occurance)
# to remove all occurance we have to loop over the list

del g[0:3]      # remove a range of items from 0 to 2
del g        # delete the item at index 0
``````

### Finding elements in a list

``````index = g.index(1)      # get the index of 1

# note : in python if the element is not in the list and we try to print the index, we get error
#  so fist we should check if the element is there and then we should find the index

if 1 in g:
print (g.index(1))
``````

### Counting elements

``````fre = g.count(12)

# this will count how many times 12 occurred in the list
``````

### Sorting List

``````numbers.sort()    # this sorts in ass order

numbers.sort(reverse="True")  # dess order
``````

we can also use the built in function sorted( ). This function takes iterables as arguments. This returns a new sorted list.

``````new_sorted_list= sorted (numbers_list, reverse="True"
``````

Sometimes we have to create our own sorting function to sort list like these

``````items = [
("Product", 10),
("Product", 9),
("Product", 12),
]

items.sort()     # this will do nothing

# we have to make a function
def sort_item(item):
return item

# now give this function to the sort function
items.sort(key=sort_item)  # we do not have to call this function
``````

Using Lamda Function

syntax is => lamda parameters:expression

``````items.sort( key=lamda item:item )
# we do not need the return keyword
``````