本文主要是介绍list之extend方法的一个错误使用案例分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
直接上代码:
>>> values = ['first']
>>> values
['first']
>>> values.extend('second')
>>> values
['first', 's', 'e', 'c', 'o', 'n', 'd']
>>> values.extend(['third'])
>>> values
['first', 's', 'e', 'c', 'o', 'n', 'd', 'third']
>>>
这里,我们的本意是希望把second字符串作为一个元素加到列表中,但结果并非如预期所示。正确的方法是如third那样,明确构造一个list对象。
为此,查阅list的extend()方法的帮助信息:
| extend(...)| L.extend(iterable) -- extend list by appending elements from the iterable
即入参是一个iterable类型的对象,把这个对象中的每个元素添加列表中。
对于values.extend('second'),其入参是'second',它是一个字符串,而字符串也是一个iterable类型的对象,它的元素就是组成这个字符串的一个个字符,即's', 'e', ……。这就是把每隔字符作为一个元素添加到列表中的原因。
如果要把一个字符串作为一个列表元素加进去,就要把构造一个list,且把字符串作为该列表的一个元素。
关于iterable,请参见下一篇文章。
这篇关于list之extend方法的一个错误使用案例分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!