当前位置:首页 » 编程语言 » 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的那部分元素成为一个新列表,准确说是指向那部分元素的新列表引用

热点内容
编译路由器固件选择 发布:2024-05-19 03:56:28 浏览:39
手机f加密 发布:2024-05-19 03:28:47 浏览:225
用什么密码写日记 发布:2024-05-19 03:27:57 浏览:303
数据库access2003 发布:2024-05-19 02:49:39 浏览:620
碧蓝航线pc挂机脚本 发布:2024-05-19 02:30:03 浏览:589
脚本fir 发布:2024-05-19 02:28:57 浏览:261
阿里云独享服务器 发布:2024-05-19 02:23:54 浏览:253
织梦源码ga 发布:2024-05-19 02:23:20 浏览:571
java文件名后缀 发布:2024-05-19 02:14:39 浏览:956
快手点榜脚本 发布:2024-05-19 02:08:44 浏览:163