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?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
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
Method 2
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)
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0