Error in coding Python

if you use append it will add the value at the end of the list.
Also don’t write matchlist = matchlist.append(i) this is not right just simply write matchlist.append(i).
And since you want to insert the new value at a specific value, you can write as :-1 matchlist.insert(1,i) here 1 represents the index value or position where you want to insert the new value

It looks like there’s a small mistake in your code. The append() method in Python modifies the list in place and returns None , so assigning the result back to matchlist will make matchlist become None . Here’s the corrected code:
i = “c”
matchlist = [“a”, “b”]

Ensure ‘i’ is a string

i = str(i)

Use append without reassigning to matchlist

matchlist.append(i)

Now matchlist contains the desired elements

print(matchlist)

This time, you ran into an exception error. This type of error occurs whenever syntactically correct Python code results in an error . The last line of the message indicated what type of exception error you ran into. Instead of showing the message exception error, Python details what type of exception error was encountered.

Instead of reassigning, simply use append() on the matchlist directly.
Just change the following:
matchlist = matchlist.append(i)
To:
matchlist.append(i)

The issue you’re encountering is due to the way the append() method works in Python. The append() method modifies the list it is called on directly and does not return a new list. Therefore, it returns None. So, when you do matchlist= matchlist.append(i), you are actually setting matchlist to the return value of the append() method, which is None. So, correct code is:
i = “c”
matchlist = [“a”,“b”]
i = str(i)
matchlist.append(i)

The append method changes the original list in-place. I hope this helps! Let me know if you have any other questions. :blush:

The issue in your code is with the use of list.append() method. The append() method in Python appends an element to the end of the list and returns None . Therefore, when you assign the result of matchlist.append(i) to matchlist , it will be assigned None , and your matchlist will no longer be the original list with the new element appended.
i = “c”
matchlist = [“a”, “b”]

Convert ‘i’ to a list and then extend matchlist

matchlist.extend([str(i)])

print(matchlist)

you’re running into an issue with how list.append() works. The append() method doesn’t return the modified list; instead, it modifies the list in place and returns None. So when you do matchlist = matchlist.append(i), you’re assigning None to matchlist.

Here’s how you can fix it:
i = “c”
matchlist = [“a”, “b”]
matchlist.append(i)

This will add the value of i to the end of matchlist without reassigning the list itself. So matchlist will have the values ['a', 'b', 'c'].

Hey it’s pretty simple ,
First of i = “c” is already a string so no need to convert it into a string, what you can simply do is
i = “c”
macthlist = [“a”,“b”]
matchlist.append(i) # no need for assigning matchlist = matchlist.append
print(matchlist)