Python 如果我们多次写入字符串,那么append是如何工作的
我得到了以下结果,有人能解释一下我们是怎么得到这个的吗 ['prashanth',1,2,3,['hari',a',ram',['hari',a',ram',None]l.append(l2)不返回列表,它返回非类型对象Python 如果我们多次写入字符串,那么append是如何工作的,python,append,Python,Append,我得到了以下结果,有人能解释一下我们是怎么得到这个的吗 ['prashanth',1,2,3,['hari',a',ram',['hari',a',ram',None]l.append(l2)不返回列表,它返回非类型对象 l=['prashanth',1,2,3] l2=['hari','a','ram'] l.append(l.append(l2)) print(l) >a=l.append(l2) >>>类型(a) 现在,当您执行l.append(l2)时,它将创建一个输出列表['pra
l=['prashanth',1,2,3]
l2=['hari','a','ram']
l.append(l.append(l2))
print(l)
>a=l.append(l2)
>>>类型(a)
现在,当您执行l.append(l2)
时,它将创建一个输出列表['prashanth',1,2,3,['hari','a','ram']]
并分配给l
。但是,它不返回任何类型的对象。因此,当您执行l.append(l.append(l2))
时,它也不会向上一个输出列表追加任何内容,并将其分配回l
因此,l.append(l.append(l2))
的最终输出将是['prashanth',1,2,3,['hari','a','ram',None]
解释——
Append函数:将其参数作为单个元素添加到
列表列表的长度增加1
注意:列表是一个对象。如果将另一个列表附加到列表上,则第一个列表将是列表末尾的单个对象
extend():迭代其参数并将每个元素添加到
列表和扩展列表。列表的长度增加了
它的参数中的元素数
注意:字符串是一个iterable,因此如果您使用字符串扩展列表,则在迭代字符串时将追加每个字符
时间复杂性:
Append具有恒定的时间复杂度,即O(1)
Extend的时间复杂度为O(k)。其中k是需要修改的列表的长度
补充说
因为您执行了
l.append(l2)
操作,然后将其传递给l.append(…)
,但是l.append(l2)
的结果是None
。因此,您在l
中添加了两个对象,'hari'、'a'、'ram']
和None
,这是一个列表,而不是字符串。另外,append
返回none。最后,任何东西都可以是列表中的一个元素。输出中有什么不清楚的地方?您应该尝试自己调试。这是你学习的唯一方法。
>>> a =l.append(l2)
>>> type(a)
<class 'NoneType'>
l=['prashanth',1,2,3]
l2=['hari','a','ram']
syntax:
# Adds an object (a number, a string or a
# another list) at the end of my_list
my_list.append(object)
syntax:
# Each element of an iterable gets appended
# to my_list
my_list.extend(iterable)