python中的extend
❶ python中append和extend的區別
extend()接受一個列表參數,把參數列表的元素添加到列表的尾部,append()接受一個對象參數,把對象添加到列表的尾部
[1,2].extend([1,2,3])
[1,2,1,2,3]
[1,2].append([1,2,3])
[1,2,[1,2,3]]
❷ python里的extend函數為什麼不能添加數值
extend函數添加的對象必須是可迭代序列。字元串和列表都是可迭代序列,但數字不是。
可以改成num=[6],做成列表,就可以加進去了。
❸ python中的extend和append的區別
append的意思是向列表尾部追加元素。
extend的意思是向列表尾部追回列表。
寫個例子:
arr=[1,2,3]
arr.append(4)
arr.extend([5,6])
❹ Python序列類型的extend和+的區別
剛才寫一個Python遞歸函數,遇到了一個問題,就是序列類型的extend方法和+運算符號的區別。
listA.extend(listB) 和 listA+listB 的效果都是把兩個序列類型的元素相加,形成一個新的序列。 extend()的運算效率比+更高。因此我一直都使用extend方法做序列的合並。
但是, listA.extend(listB) 的返回結果是None,而不是合並後的序列。listA序列是合並後的序列。
listA+listB返回的是新的序列。
我在寫下面這個遞歸的函數時因為extend方法的這個特點,得到的總是None對象。 改用+後正常。
def (obj):
if(hasattr(obj,"parent")==False or obj.parent==None):
return [obj]
else:
return [obj]+((obj.parent))
測試代碼:
class Obj(object):
def __init__(self,val):
self.val=val
def __str__(self):
return str(self.val)
pass
if __name__ == '__main__':
obj1=Obj(1)
obj2=Obj(2)
obj3=Obj(3)
obj2.parent=obj1
obj3.parent=obj2
ret=(obj3)
for obj in ret:
print str(obj)
顯示正確的
3
2
1
❺ python中的extend和append的區別
1. 列表可包含任何數據類型的元素,單個列表中的元素無須全為同一類型。
2. append() 方法向列表的尾部添加一個新的元素。
3. 列表是以類的形式實現的。「創建」列表實際上是將一個類實例化。因此,列表有多種方法可以操作。extend()方法只接受一個列表作為參數,並將該參數的每個元素都添加到原有的列表中。
extend的解釋沒看太明白,琢磨了一下
>>> myList = [1,2.0,'a']
>>> myList
[1, 2.0, 'a']
>>> myList.append('APP')
>>> myList
[1, 2.0, 'a', 'APP']
>>> myList.extend([123,'abc'])
>>> myList
[1, 2.0, 'a', 'APP', 123, 'abc']
>>> myList.append(1,2)
Traceback (most recent call last):
File "<pyshell#69>", line 1, in <mole>
myList.append(1,2)
TypeError: append() takes exactly one argument (2 given)
>>> myList.extend([1],[2])
Traceback (most recent call last):
File "<pyshell#70>", line 1, in <mole>
myList.extend([1],[2])
TypeError: extend() takes exactly one argument (2 given)
>>>
結果如下:
append和extend都僅只可以接收一個參數,
append 任意,甚至是tuple
extend 只能是一個列表
❻ 請問在python中extend(arr【x:y】)是什麼意思
extend是把參數列表裡的元素放入對象列表中
所以arr[x:y]就是列表
什麼意思就是取arr下標從x開始到y的那部分元素成為一個新列表,准確說是指向那部分元素的新列表引用
❼ python中的「extend」和「append」的區別是什麼
列表可包含任何數據類型的元素,單個列表中的元素無須全為同一類型。
append() 方法向列表的尾部添加一個新的元素。
列表是以類的形式實現的。「創建」列表實際上是將一個類實例化。因此,列表有多種方法可以操作。extend()方法只接受一個列表作為參數,並將該參數的每個元素都添加到原有的列表中。
extend的解釋沒看太明白,琢磨了一下
>>> myList = [1,2.0,'a']
>>> myList
[1, 2.0, 'a']
>>> myList.append('APP')
>>> myList
[1, 2.0, 'a', 'APP']
>>> myList.extend([123,'abc'])
>>> myList
[1, 2.0, 'a', 'APP', 123, 'abc']
>>> myList.append(1,2)
Traceback (most recent call last):
File "<pyshell#69>", line 1, in <mole>、
myList.append(1,2)
TypeError: append() takes exactly one argument (2 given)
>>> myList.extend([1],[2])
Traceback (most recent call last):
File "<pyshell#70>", line 1, in <mole>
myList.extend([1],[2])
TypeError: extend() takes exactly one argument (2 given)
>>>
結果如下:
append和extend都僅只可以接收一個參數,append 任意,甚至是tuple,extend 只能是一個列表。
❽ python中的extend和append的區別
網上有很多對這兩個函數的區別講解,但我覺得都講的不是很清楚,記憶不深刻。這樣解釋清楚且容易記住。
list.append(object) 向列表中添加一個對象object
list.extend(sequence) 把一個序列seq的內容添加到列表中
music_media=['compactdisc','8-tracktape','longplayingrecord']
new_media=['DVDAudiodisc','SuperAudioCD']
music_media.append(new_media)
printmusic_media
>>>['compactdisc','8-tracktape','longplayingrecord',['DVDAudiodisc','SuperAudioCD']]
使用append的時候,是將new_media看作一個對象,整體打包添加到music_media對象中。
music_media=['compactdisc','8-tracktape','longplayingrecord']
new_media=['DVDAudiodisc','SuperAudioCD']
music_media.extend(new_media)
printmusic_media
>>>['compactdisc','8-tracktape','longplayingrecord','DVDAudiodisc','SuperAudioCD']
使用extend的時候,是將new_media看作一個序列,將這個序列和music_media序列合並,並放在其後面。