为什么[] .append()在python中不起作用?
发布于 2021-01-29 18:00:55
为什么这项工作有效-
a = []
a.append(4)
print a
但这不是-
print [].append(4)
第二种情况下的输出为None
。你能解释一下输出吗?
关注者
0
被浏览
142
1 个回答
-
该
append
方法没有返回值。它会在适当的位置更改列表,并且由于您没有将分配[]
给任何变量,因此只是“迷失在空间”class FluentList(list): def append(self, value): super(FluentList,self).append(value) return self def extend(self, iterable): super(FluentList,self).extend(iterable) return self def remove(self, value): super(FluentList,self).remove(value) return self def insert(self, index, value): super(FluentList,self).insert(index, value) return self def reverse(self): super(FluentList,self).reverse() return self def sort(self, cmp=None, key=None, reverse=False): super(FluentList,self).sort(cmp, key, reverse) return self li = FluentList() li.extend([1,4,6]).remove(4).append(7).insert(1,10).reverse().sort(key=lambda x:x%2) print li
我没有重载所有有问题的方法,但是概念应该很清楚。