Python新手关于len()函数与列表extend()方法的疑问:为何extend后列表长度变为7?
关于Python len()和extend()的疑问解答
嘿,作为Python新手碰到这种问题太正常啦,我来给你一步步理清楚:
首先看你的初始代码:
friends = ["Alice", "Bob", "Carl", "John"] print(len(friends)) # 输出4
这里的len()函数就是用来统计容器(比如列表)里的元素个数,初始列表里有4个字符串元素,所以返回4,这个你已经get到了~
接下来关键是extend()方法的作用:
friends.extend([1, 2, 3]) print(len(friends)) # 输出7
extend()的功能是把传入的可迭代对象(这里是列表[1,2,3])里的所有元素,逐个添加到原列表的末尾。简单说就是:原列表有4个元素,现在给它额外加了3个独立的元素(1、2、3),4+3=7,所以len()统计出来的总元素数就是7。
这个“7”表示的是:现在friends列表里总共有7个独立的元素。你可以直接打印friends验证一下,它现在的内容是:
["Alice", "Bob", "Carl", "John", 1, 2, 3]
数一下是不是正好7个?
顺便给你提个容易混淆的点:如果你用的是append()方法而不是extend(),比如friends.append([1,2,3]),那这个操作是把整个[1,2,3]作为一个元素加到原列表末尾,这时候len(friends)就会返回5,和extend()的效果完全不一样哦~
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

