拼写错误

是extend  而不是extends

出错demo:

 In [27]: c = [2,3]                                                              

 In [28]: c.extends([5])
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-28-2022e87158c8> in <module>
----> 1 c.extends([5]) AttributeError: 'list' object has no attribute 'extends'

调试:

既然错误提示说list对象没有extends这个属性,那我们可以先来看一下list的属性都有什么

通过第42行,就可以看到list有extend属性,而不是extends属性

这样就知道代码中的错误是 拼写错误

 In [29]: dir(list)
Out[29]:
['__add__',
'__class__',
'__contains__',
'__delattr__',
'__delitem__',
'__dir__',
'__doc__',
'__eq__',
'__format__',
'__ge__',
'__getattribute__',
'__getitem__',
'__gt__',
'__hash__',
'__iadd__',
'__imul__',
'__init__',
'__init_subclass__',
'__iter__',
'__le__',
'__len__',
'__lt__',
'__mul__',
'__ne__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__reversed__',
'__rmul__',
'__setattr__',
'__setitem__',
'__sizeof__',
'__str__',
'__subclasshook__',
'append',
'clear',
'copy',
'count',
'extend',
'index',
'insert',
'pop',
'remove',
'reverse',
'sort']

其它几个属性也演示一下吧

list.append(obj) 追加,是大家都很熟悉的list的属性。注意: 一次只能追加1个对象

In [33]: c = [2,3]                                                              

In [34]: c.append(4)                                                            

In [35]: c
Out[35]: [2, 3, 4]

list.clear()清空整个列表

In [35]: c
Out[35]: [2, 3, 4] In [36]: c.clear() In [37]: c
Out[37]: []

list.copy()返回一个复制的列表

In [38]: c = [2,3]                                                              

In [39]: b = c.copy()                                                           

In [40]: b
Out[40]: [2, 3]

list.count(obj)统计指定元素在列表中出现的次数

In [45]: c
Out[45]: [2, 3, 2] In [46]: c.count(2)
Out[46]: 2

list.extend(obj) 将obj追加到list的末尾.注意 obb应该是可迭代的对象,否则会报 TypeError: 'xxx' object is not iterable错误

 In [49]: c.extend([5])                                                          

 In [50]: c
Out[50]: [2, 3, 2, 5] # 如果追加的是1个字典,会把字典的key追加到字典的末尾
In [51]: a={"a":6} In [52]: c.extend(a) In [53]: c
Out[53]: [2, 3, 2, 5, 'a']

错误示例:

 In [47]: c
Out[47]: [2, 3, 2] In [48]: c.extend(5)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-48-5a85afdd21bf> in <module>
----> 1 c.extend(5) TypeError: 'int' object is not iterable

list.index(obj)返回指定元素第1次出现在列表中的位置

 In [53]: c
Out[53]: [2, 3, 2, 5, 'a'] In [54]: In [54]: c.index("a")
Out[54]: 4

list.insert(index,obj) 将指定对象插入到列表中指定的位置

注意 :通过insert方法 ,将obj插入到index的位置后,原来在index位置的元素并不会被覆盖,而是会整体往后移。

 In [56]: c
Out[56]: [2, 3, 2, 5, 'b'] In [58]: c.insert(4,"a") In [59]: c
Out[59]: [2, 3, 2, 5, 'a', 'b']

这一点c[3]="c"这种写法是不同的

像上面这样直接通过 = 给元素附值,会把列表中原来的值覆盖掉

In [61]: c
Out[61]: [2, 3, 2, 5, 'a', 'b'] In [62]: c.index(5)
Out[62]: 3 In [63]: c[3]="c" In [64]: c
Out[64]: [2, 3, 2, 'c', 'a', 'b']

如果指定index超过元素的长度,也不会报错,而是直接将对象插入到列表的末尾,相当于执行了append

 In [64]: c
Out[64]: [2, 3, 2, 'c', 'a', 'b'] In [65]: len(c)
Out[65]: 6 In [66]: c.insert(7,"aaa") In [67]: c
Out[67]: [2, 3, 2, 'c', 'a', 'b', 'aaa'] In [68]: c.index("aaa")
Out[68]: 6

list.pop(index)从列表中删除指定元素,返回删除的元素,不指定index则会直接删除最后1个元素

 In [69]: c
Out[69]: [2, 3, 2, 'c', 'a', 'b', 'aaa'] #删除下标为0的元素
In [70]: d = c.pop(0) In [71]: d
Out[71]: 2 In [72]: c
Out[72]: [3, 2, 'c', 'a', 'b', 'aaa'] #不指定下标,默认删除最后1个元素
In [73]: e= c.pop() In [74]: e
Out[74]: 'aaa'

list.remove(obj)移除列表中 指定的下标元素,无返回值

 In [79]: c
Out[79]: [3, 2, 'c', 'a', 'b'] In [80]: c.remove(3) In [82]: c
Out[82]: [2, 'c', 'a', 'b']

list.sort()将列表中的内容进行排序,无返回值

 In [89]: c
Out[89]: ['c', 'a', 'b'] In [90]: c.sort() In [91]: c
Out[91]: ['a', 'b', 'c']

注意 :使用list.sort()方法,要求list中的元素都是同1数据类型,否则会报 这样的错误 :TypeError: '<' not supported between instances of 'xxx' and 'xxx'

In [85]: c
Out[85]: [2, 'c', 'a', 'b'] In [86]: c.sort()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-86-3b6e9baacecd> in <module>
----> 1 c.sort() TypeError: '<' not supported between instances of 'str' and 'int'

AttributeError: 'list' object has no attribute 'extends' && list详解的更多相关文章

  1. AttributeError: 'unicode' object has no attribute 'tzinfo' 未解决

    Internal Server Error: /demo/machineinfo.htmlTraceback (most recent call last): File "C:\Python ...

  2. Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法

    最近在编写Python脚本过程中遇到一个问题比较奇怪:Python脚本完全正常没问题,但执行总报错"AttributeError: 'module' object has no attrib ...

  3. AttributeError: 'list' object has no attribute 'write_pdf'

    我在可视化决策树,运行以下代码时报错:AttributeError: 'list' object has no attribute 'write_pdf' 我使用的是python3.4 from sk ...

  4. attributeError:'module' object has no attribute ** 解决办法

    写了一个小脚本,执行的时候报错: Traceback (most recent call last): File "F:/test/qrcode.py", line 109, in ...

  5. AttributeError: 'module' object has no attribute 'TornadoAsyncNotifier'

    /*************************************************************************** * AttributeError: 'modu ...

  6. AttributeError: 'dict_values' object has no attribute 'translate'

    /***************************************************************************************** * Attribu ...

  7. python3 AttributeError: 'NoneType' object has no attribute 'split'

    from wsgiref.simple_server import make_server def RunServer(environ, start_response): start_response ...

  8. 对于AttributeError: 'Flask' object has no attribute 'cli'的解决办法

    版权声明:本文为博主原创文章,未经博主允许不得转载. 环境flask-script2.0.5.flask0.10.1 运行官方文档sample 出现问题 c:\kk\flask\examples\fl ...

  9. AttributeError: 'module' object has no attribute 'Thread'

    $ python thread.py starting at: 2015-08-05 00:24:24Traceback (most recent call last):  File "th ...

随机推荐

  1. HDU2255 奔小康赚大钱 —— 二分图最大权匹配 KM算法

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255 奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others)    ...

  2. 最好的6个Go语言Web框架

    原文:Top 6 web frameworks for Go as of 2017 作者:Edward Marinescu 译者:roy 译者注:本文介绍截至目前(2017年)最好的6个Go语言Web ...

  3. oracle 备份数据

    exp AC_SSO/AC_SSO@HB file=d:\wamp\Golden3C_AuthenticationCenter.dmp owner=AC_SSO full=y用户名/密码@服务 exp ...

  4. 【黑金教程笔记之005】【建模篇】【Lab 04 消抖模块之二】—笔记

    实验四和实验三的区别在于输出.实验三是检测到由高到低的电平变化时就拉高输出,检测到由低到高的电平变化时就拉低输出.而实验四检测到由高到低的电平变化时产生一个100ms的高脉冲.当检测到由低到高的电平变 ...

  5. 【WIP】Objective-C Foundation框架的主要对象

    创建: 2018/02/02 完成字符串: 2018/02/05 任务表: TODO 最新内容确认: 字符串,数据类, 数组类  可变与不变的对象  一览  种类  不变类  可变类  数组  NSA ...

  6. bzoj 2005: [Noi2010]能量采集【莫比乌斯反演】

    注意到k=gcd(x,y)-1,所以答案是 \[ 2*(\sum_{i=1}^{n}\sum_{i=1}^{m}gcd(i,j))-n*m \] 去掉前面的乘和后面的减,用莫比乌斯反演来推,设n< ...

  7. bzoj 4500: 矩阵【差分约束】

    (x,y,z)表示格子(x,y)的值为z,也就是x行+y列加的次数等于z,相当于差分约束的条件,用dfs判断冲突即可. #include<iostream> #include<cst ...

  8. 状压入门--bzoj1087: [SCOI2005]互不侵犯King【状压dp】

    Description 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上 左下右上右下八个方向上附近的各一个格子,共8个格子. Input 只有一行, ...

  9. Ubuntu 18 安装 wps

    本来有三种方法 1. 软件中心 安装最简单 2. 命令行snap 安装 如果没有安装snap 先安装 sudo apt install snapd 然后安装wps sudo snap install ...

  10. Workflow 规则大全 最新版

    ​对于怎么操作Workflow我就不重复说明了 大家可以搜索我的另一条微博.Workflow,作为一款提高效率的软件,我觉得很有必要进行推广,当然我比较需要这里面的很多规则,先为己再为公.首先我只是出 ...