I want to add a string to a list:
list1 = ['hi','how','are','you','googl']
ok = 'item22'
list1 = list1.extend(ok)
but it prints None. Why is that?
The function extend is an in-place function i.e. It will make the changes to the original list itself. From the docs
Extend the list by appending all the items in the given list; equivalent to a[len(a):] = L.
Hence you do not need to re-assign it back to the list variable.
You can do
list1 = ['hi','how','are','you','googl']
ok = 'item22'
list1.extend([ok]) # Notice brackets here
Then when you print list it will print
['hi','how','are','you','googl','item22']
Better way
Using append as mentioned below is the better way to do it.
list1 = ['hi','how','are','you','googl']
ok = 'item22'
list1.append(ok) # Notice No brackets here
There is another way, using module numpy will do the work https://pypi.org/project/numpy/
Specific in your example it will be look like this:
import numpy as np
list1 = ['hi','how','are','you','googl']
ok = 'item22'
list1 = list(np.append(list1, [ok]))
print(list)
list1.extend(ok)..... notlist1 = list1.extend(ok)- Jose Ricardo Bustos M.list1.append(ok)- Jose Ricardo Bustos M.list1.extend(ok)actually does work, but it doesn't do what you want… try it and see. - abarnert