拼写错误

是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. YTU 1010: 目标柏林

    1010: 目标柏林 时间限制: 1000 Sec  内存限制: 64 MB 提交: 32  解决: 15 题目描述 1945年初,苏军和英美联军已从东西两面攻入德国国境. 4月初,在苏军和英美联军的 ...

  2. create database 默认utf-8

    CREATE DATABASE IF NOT EXISTS dbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 这是sql语句 CREATE TA ...

  3. 【转】Android性能优化之GPU过度绘制与图形渲染优化

    标签: android / 优化 / 过度绘制 / 图形渲染优化 Android之GPU过度绘制与图形渲染优化 写在前面的话 本文主要对过度绘制和图形渲染做一个概念性的描述,和简单的优化措施. 如果你 ...

  4. linux下离线安装svn服务器并配置

    一.下载相应的包 subversion-1.8.18.tar.gz   下载地址:http://subversion.apache.orgsqlite-autoconf-3190300.tar.gz ...

  5. hdu1584(状态压缩DP)

    蜘蛛牌 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  6. hdu 3503(有点小技巧的dfs(对结点加东西表示边的某些状态))

    Friends Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

  7. bzoj1933

    背包dp 一道很早以前就见过的dp dp[i][j][k]表示选到第i本书,第一层宽度为j,第二层宽度为k的最小高度,我们先把书按高度排序,然后转移就很方便了,因为高度降序,所以后选的书不影响之前选的 ...

  8. JavaScript 算法与数据结构(转载)

    JavaScript 算法与数据结构 https://github.com/trekhleb/javascript-algorithms/blob/master/README.zh-CN.md

  9. Linux系统挂载NTFS文件系统(转载)

    转自:http://hermesbox.blogbus.com/logs/47386987.html 今天尝试并成功的将一块500G的移动硬盘挂载到了RHEL5的系统上,甚感欣慰.想到也许以后自己或其 ...

  10. bzoj 3159: 决战【LCT】

    只是想复健一下LCT没想到做了不得了的题--调了两天QAQ 题解是这么说的: 但是果然还不太理解--因为swap的前后问题调了好久,(所以一开始养成的习惯后面就不要再改啦-- 总之大概就是把对位置lc ...