當前位置:首頁 » 編程語言 » python的extend

python的extend

發布時間: 2022-06-15 17:26:15

『壹』 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函數為什麼不能添加數值

extend函數添加的對象必須是可迭代序列。字元串和列表都是可迭代序列,但數字不是。
可以改成num=[6],做成列表,就可以加進去了。

『肆』 python中append和extend區別

Python中的append()和extend()這兩個方法的共同點都是在列表末尾添加新元素。
list.append(obj)
在上述格式中,list指的是要添加新元素的列表。obj指的是要添加到列表末尾的元素。這里的obj可以是字元串、數字等等。
list.extend(seq)
在上述格式中,list指的是要添加新元素的列表,seq指的是要添加到列表末尾的列表。
append()方法中的參數可以是任何數據類型。
而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和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序列合並,並放在其後面。

『柒』 python中的extend和append的區別

extend是擴展,參數是可迭代的序列

append是添加子元素

>>>a=[1,2]
>>>a.extend([3])
>>>a
[1,2,3]
>>>a.append([3])
>>>a
[1,2,[3]]

『捌』 python中使用extend函數添加字元時怎麼不用中括弧

extend的實現支持這么寫:

Python3.6.5(v3.6.5:f59c0932b4,Mar282018,17:00:18)[MSCv.190064bit(AMD64)]onwin32
Type"help","right","credits"or"license"formoreinformation.
>>>a=["hello","world"]
>>>b=["!"]
>>>a.extend(b)
>>>a
['hello','world','!']
>>>a.extend("!")
>>>a
['hello','world','!','!']
>>>a.extend(["!"])
>>>a
['hello','world','!','!','!']
>>>

『玖』 python中的extend和append的區別

二者區別總結如下:
1.extend()方法是指在列表末尾增加一個數據集合。

例如:在例1基礎上,students列表末尾繼續增加"Kavin"與"Jack"和"Chapman"三項。
>>> students = [『Cleese『 , 『Palin『 , 『Jones『 , 『Idle『]
>>> students.append(『Gavin『)
>>> print(students)
[『Cleese『, 『Palin『, 『Jones『, 『Idle『, 『Gavin『]
>>> students.extend([『Kavin『,『Jack『,『Chapman『])
>>> print(students)
[『Cleese『, 『Palin『, 『Jones『, 『Idle『, 『Gavin『, 『Kavin『, 『Jack『, 『Chapman『]

2.append()方法是指在列表末尾增加一個數據項。
例如:在students列表末尾增加"Gavin"項。
>>> students = [『Cleese『 , 『Palin『 , 『Jones『 , 『Idle『]
>>> students.append(『Gavin『)
>>> print(students)
[『Cleese『, 『Palin『, 『Jones『, 『Idle『, 『Gavin『]

『拾』 請問在python中extend(arr【x:y】)是什麼意思

extend是把參數列表裡的元素放入對象列表中
所以arr[x:y]就是列表
什麼意思就是取arr下標從x開始到y的那部分元素成為一個新列表,准確說是指向那部分元素的新列表引用

熱點內容
pythonmysqlmac安裝 發布:2025-02-07 01:56:36 瀏覽:401
oppoa57忘記密碼怎麼刷機 發布:2025-02-07 01:51:17 瀏覽:73
2016空間加密怎麼進 發布:2025-02-07 01:41:30 瀏覽:382
網路數據伺服器是什麼 發布:2025-02-07 01:23:42 瀏覽:473
多伺服器ip白名單 發布:2025-02-07 01:23:41 瀏覽:372
優酷上傳視頻的格式 發布:2025-02-07 01:18:51 瀏覽:880
租虛擬伺服器有什麼用 發布:2025-02-07 01:17:55 瀏覽:4
視頻腳本策劃 發布:2025-02-07 01:15:37 瀏覽:566
外文免費資料庫 發布:2025-02-07 01:12:26 瀏覽:194
第一滴血ftp 發布:2025-02-07 01:12:24 瀏覽:424