问题
Data:
lis_t = [['q', 'w', 'e'],['r', 't', 'y']]
Expected Outcome:
lis_t = [['q', 'w', 'e', 'u'],['r', 't', 'y']]
problem description: I am trying to append to the list above however not able to append the same as it somehow results in none. Please help me understand what am I doing wrong.
Code written:
lis_t = [['q', 'w', 'e'],['r', 't', 'y']]
lis_t[0] = lis_t[0].append('u')
print(lis_t[0])
print(lis_t)
output:
None
[None, ['r', 't', 'y']]
回答1:
lis_t[0].append('u')
this returns None
value and then you assigning this to lis_t[0]
that's why you are getting None
value
lis_t = [['q', 'w', 'e'],['r', 't', 'y']]
lis_t[0].append('u')
print(lis_t)
回答2:
do this
lis_t = [['q', 'w', 'e'],['r', 't', 'y']]
lis_t[0].append('u')
print(lis_t)
回答3:
Python function always return value when invoked. If no return value provided it will return None
.
python list.append()
is function which have no return value so it will be returning None
when invoked.
what you are doing is assigning the list.append()
method invocation to lis_t[0]
so the correct way in your case is.
lis_t[0].append('u')
回答4:
apart from
list_t[0].append('u')
you can do (if you like to use the '+')
list_t[0] += ['u']
or
list_t[0] = list_t[0] + ['u']
The result is always this
print(list_t[0])
>>> ['q', 'w', 'e', 'u']
来源:https://stackoverflow.com/questions/49144964/appending-to-list-none-result