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序列合并,并放在其后面。