Python append()的两个坑

Python append()的两个坑

写Python的时候被append()这个简单又常用的方法不知道坑了多少次了……

1. return None

第一个坑:append()会修改原list,而不会return任何东西。

正确:

lst.append(new_item)

错误:

lst = lst.append(new_item)     #此时lst就变成NoneType了

注意:pandas DataFrame的append()恰恰相反,会return a new DataFrame:
正确:

df = pd.append(df2)

2. append() vs. extend()

append() 针对的是element,而extend() 针对的是list。

举个例子。如果想在一个list后面附加另一个list,需要用extend:

# insert lst_new after lst
lst = [1,1,2]
lst_new = [3,5]
# option 1
lst.append(lst_new)
print(lst)
--> [1,1,2,[3,5]]
# option 2
lst.extend(lst_new)
print(lst)
--> [1,1,2,3,5]

而如果只是想在list后面插入新元素,则用append:

lst.append(3)
lst.append(5)
print(lst)
--> [1,1,2,3,5]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值