AttributeError: 'list' object has no attribute 'extends' && list详解
拼写错误
是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详解的更多相关文章
- AttributeError: 'unicode' object has no attribute 'tzinfo' 未解决
Internal Server Error: /demo/machineinfo.htmlTraceback (most recent call last): File "C:\Python ...
- Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法
最近在编写Python脚本过程中遇到一个问题比较奇怪:Python脚本完全正常没问题,但执行总报错"AttributeError: 'module' object has no attrib ...
- AttributeError: 'list' object has no attribute 'write_pdf'
我在可视化决策树,运行以下代码时报错:AttributeError: 'list' object has no attribute 'write_pdf' 我使用的是python3.4 from sk ...
- attributeError:'module' object has no attribute ** 解决办法
写了一个小脚本,执行的时候报错: Traceback (most recent call last): File "F:/test/qrcode.py", line 109, in ...
- AttributeError: 'module' object has no attribute 'TornadoAsyncNotifier'
/*************************************************************************** * AttributeError: 'modu ...
- AttributeError: 'dict_values' object has no attribute 'translate'
/***************************************************************************************** * Attribu ...
- python3 AttributeError: 'NoneType' object has no attribute 'split'
from wsgiref.simple_server import make_server def RunServer(environ, start_response): start_response ...
- 对于AttributeError: 'Flask' object has no attribute 'cli'的解决办法
版权声明:本文为博主原创文章,未经博主允许不得转载. 环境flask-script2.0.5.flask0.10.1 运行官方文档sample 出现问题 c:\kk\flask\examples\fl ...
- AttributeError: 'module' object has no attribute 'Thread'
$ python thread.py starting at: 2015-08-05 00:24:24Traceback (most recent call last): File "th ...
随机推荐
- UVA11383 Golden Tiger Claw —— KM算法
题目链接:https://vjudge.net/problem/UVA-11383 题解: 根据KM()算法,标杆满足:l(x) + l(y) >= w(x, y) . 当求完最大权匹配之后,所 ...
- 简单粗暴解决google被和谐导致google fonts无法加载的问题
原文:http://www.v2ex.com/t/118403 解决方法:fonts.googleapis.com替换为fonts.useso.com, fonts.useso.com是360安全卫士 ...
- mysql 里面的isnull()和ifnull() is null 和 is not null
usergrade表 1.找到里面username是null的行 SELECT * FROM usergrade WHERE ISNULL(USERNAME) SELECT * FROM usergr ...
- bzoj 4385: [POI2015]Wilcze doły【单调栈】
对于每个i,以它为左端点的最优右端点一定是单增的,所以用单调栈维护 具体的,单调栈里放的是和单调的长为d的子段,然后枚举右端点,如果这段的和-当前长为d子段最大的和大于p的话,左端点右移同时注意单调栈 ...
- bzoj 4606: [Apio2008]DNA【dp】
写题五分钟读题两小时系列-- 看懂题的话不算难,然而我去看了大佬的blog才看懂题-- 题目大意是:一个原字符串,其中有一种通配符,合法串的定义是这个串(不含通配符))可以匹配原串并且这个串最多分成k ...
- P5107 能量采集
传送门 官方题解 话说最后的答案忘记取模了结果连暴力都挂了可海星-- //minamoto #include<bits/stdc++.h> #define R register #defi ...
- 洛谷P4344 [SHOI2015]脑洞治疗仪(珂朵莉树)
传送门 看到区间推倒……推平就想到珂朵莉树 挖脑洞直接assign,填坑先数一遍再assign再暴力填,数数的话暴力数 //minamoto #include<iostream> #inc ...
- Go语言模拟文件断点续传以及多协程读取写入文件操作
今天整理了一个Go语言多协程拷贝文件的案例,之前用Java写过,这次用Go语言来写一下,代码不难,也很简单,但是网上没有案例,整了很长时间.下面贴出来,供其他人参考学习. func main(){ f ...
- SpringBoot使用MongoDB
一.什么是MongoDB MongoDB是一个基于分布式文件存储的数据库,由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的 ...
- python之定时器Timer
timer类 Timer(定时器)是Thread的派生类,用于在指定时间后调用一个方法. 构造方法: Timer(interval, function, args=[], kwargs={}) in ...