Python3-list中的append()和extend()方法區別


Python3-list中的append()和extend()方法區別

一、append()和extend()方法都是用來添加數據到list末尾的,兩者的區別:

  • append()添加的時候會把添加的數據當成一個整體進行添加,允許添加任意類型的數據
  • extend()添加的時候會把添加的數據迭代進行添加,只允許添加可迭代對象數據(可迭代對象: 能用for循環進行迭代的對象就是可迭代對象, 比如:字符串,列表,元祖,字典,集合等等 )

二、append()方法的使用(會把對象整體添加到列表后):

1. 把列表添加到列表中
one_list = [1, 2, 3, 4, 5]
two_list = ["aaa", "bbb", "ccc"]
one_list.append(two_list)
print(one_list)  # [1, 2, 3, 4, 5, ['aaa', 'bbb', 'ccc']]
2. 把元組添加到列表中
one_list = [1, 2, 3, 4, 5]
tup = ("ddd", "eee", "fff")
one_list.append(tup)
print(one_list)  # [1, 2, 3, 4, 5, ('ddd', 'eee', 'fff')]
3. 把字典添加到列表中
dict1 = {"a": 1, "b": 2}
one_list.append(dict1)
print(one_list)  # [1, 2, 3, 4, 5, {'a': 1, 'b': 2}]
4. 把set集合添加到列表中
set1 = {'p', 'o', 'e', 'x'}
one_list.append(set1)
print(one_list) # # [1, 2, 3, 4, 5, {'p', 'o', 'e', 'x'}]
5. 把單個數值添加到列表中
one_list.append(110)
print(one_list)  # [1, 2, 3, 4, 5, 110]
6. 把類/對象添加到列表中
class A(object):
	pass
a = A()
# 類
one_list.append(A)
# 對象
one_list.append(a)
print(one_list)  # [1, 2, 3, 4, 5, <class '__main__.A'>, <__main__.A object at 0x0000024F625F5C48>]

三、extend()方法的使用(會把對象迭代添加到列表后):

1. 把列表添加到列表中
one_list = [1, 2, 3, 4, 5]
two_list = ["aaa", "bbb", "ccc"]
one_list.extend(two_list)
print(one_list)  # [1, 2, 3, 4, 5, 'aaa', 'bbb', 'ccc']
2. 把元組添加到列表中
one_list = [1, 2, 3, 4, 5]
tup = ("ddd", "eee", "fff")
one_list.extend(tup)
print(one_list)  # [1, 2, 3, 4, 5, 'ddd', 'eee', 'fff']
3. 把字典添加到列表中
dict1 = {"a": 1, "b": 2}
# 默認添加進去的是key值
one_list.extend(dict1)
print(one_list)  # [1, 2, 3, 4, 5, 'a', 'b']
# 通過dict.values()添加進去的是value值
one_list.extend(dict1.values())
print(one_list)  # [1, 2, 3, 4, 5, 1, 2]
4. 把set集合添加到列表中
set1 = {'p', 'o', 'e', 'x'}
one_list.extend(set1)
print(one_list) # # [1, 2, 3, 4, 5, 'p', 'o', 'e', 'x']
5. 把單個數值添加到列表中(單個數值不是可迭代對象,所以會報錯)
one_list.extend(110)
print(one_list)  # 報錯:TypeError: 'int' object is not iterable
6. 把類/對象添加到列表中(類/對象不是可迭代對象,所以會報錯)
class A(object):
	pass
a = A()
# 類
one_list.extend(A)
# 對象
one_list.extend(a)
print(one_list)  # TypeError: 'type' object is not iterable

四、總結:

append()和extend()方法都是在列表末尾添加數據,append()方法支持添加所有數據,extend()方法只支持可迭代對象的數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM