extend() 和 append()的区别 python

区别总述:

① lst1.append(lst2) # 把 “整个列表lst2 作为一个元素” 添加到 lst1 中
② lst1.extend(lst2) # 把 “列表lst2中的每个元素” “依次”添加到 lst1 中

添加字典时有点特殊:

① append() 把 “整个字典dic作为一个元素” 添加到列表中
② extend()只把 “字典dic中的每个key” 添加到列表中

具体见例题

例题1

lst1 = ['jack','sparrow','is','the','captain']
lst2 = ['of','the','black pearl']
lst1.append(lst2) # 把 “整个列表lst2 作为一个元素” 添加到 lst1 中 
print(lst1)

输出:['jack', 'sparrow', 'is', 'the', 'captain', ['of', 'the', 'black pearl']]

对比:

lst1 = ['jack','sparrow','is','the','captain']
lst2 = ['of','the','black pearl']
lst1.extend(lst2) # 把 “列表lst2中的每个元素” “依次”添加到lst1中
print(lst1)

输出:['jack', 'sparrow', 'is', 'the', 'captain', 'of', 'the', 'black pearl']


例题2

lst3 = [1,2,3]
lst4 = [4,5,6]
lst3.append(lst4)
print(lst3)

输出:[1, 2, 3, [4, 5, 6]]

对比:

lst3 = [1,2,3]
lst4 = [4,5,6]
lst3.extend(lst4)
print(lst3)

输出:[1, 2, 3, 4, 5, 6]

例题3

lst3 = [1,2,3]
dic = {'wang':111,'li':222,'su':333}
lst3.append(dic)  # 添加字典时,append() 把“整个字典dic作为一个元素”添加到列表中
print(lst3)

输出:[1, 2, 3, {'wang': 111, 'li': 222, 'su': 333}]

对比:

lst3 = [1,2,3]
dic = {'wang':111,'li':222,'su':333}
lst3.extend(dic)   # 添加字典时,extend()只把dic中的每个key添加到列表中
print(lst3)

输出:[1, 2, 3, 'wang', 'li', 'su']

例题4

# append(), extend() the difference

a = ['paths', 'classes', 'display_names']  
b = ['/home/documents', 'yili', 'dis']

a.append(b)  # append更快, append()作为 '一个整体(list)' 添加到末尾
a.append([b])
a.append(b[1])
a.append(b[0])
print(a)

输出: ['paths', 'classes', 'display_names', ['/home/documents', 'yili', 'dis'], [['/home/documents', 'yili', 'dis']], 'yili', '/home/documents']
对比:

a = ['paths', 'classes', 'display_names']
b = ['/home/documents', 'yili', 'dis']

a.extend(b)   # extend() 是把list中的每个元素,依次,一个个添加
a.extend(b[2])   
a.extend([b[2]])   # 加上[],作为一个字符串

print(a)

输出:['paths', 'classes', 'display_names', '/home/documents', 'yili', 'dis', 'd', 'i', 's', 'dis']

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值