本文主要介绍 python 中的 list,tuple,dict 有关方法的使用
list
先来看看 list 都有哪些方法可以使用:

那些带下划线的方法就不说了,那些一般用不到,都是为了实现特殊的用途。
- append
添加一个对象到列表的末尾。注意,这里说的是对象,也就是说,在 append() 中传入的对象是什么,它就将这个对象添加到列表末尾。 - count
返回给定参数在列表中的数量。如果不存在,则返回 0。例如:
a = [1, 2, 3, 4, 2, 3]
a.count(2) # 返回 2,因为 2 的数量有 2 个
- extend
扩展列表,通过添加给定可迭代对象的元素。注意,这里添加的是对象元素,这一点与 append 不同。如果传入的是字典,那么它会添加 key 值到列表中。 - index
返回参数在列表中的第一个索引,即下标,如果值不存在,则抛出 ValueError。推荐使用 in 检查一个元素是否在列表中。 - insert
L.insert(index, object) 在索引前插入一个对象。必须传入两个参数。 - pop
L.pop(index) 移除索引为 index 的元素,并且返回这个元素,默认为最后一个。空列表或者索引越界会抛出 IndexError 异常。 - remove
L.remove(value) 移除在列表中出现的第一个值,如果 value 不存在,则会抛出 ValueError 异常。 - sort
对列表进行排序。返回的是 NoneType。默认从大到小。
tuple
tuple 的方法:

因为 tuple 是不可变对象,所以它的方法少了很多,只有两个。
可以使用 tuple() 内置函数来构造元组,可以是列表,元组,字典(取的是字典的 key),字符串。
- count
返回给定参数在元组中的数量,如果不存在,则返回 0。 - index
返回参数在元组中的第一个索引,即下标。如果不存在,则抛出异常 ValueError。
dict
dict 的方法:

- clear
顾名思义,删除字典中的所有元素。 - copy
返回字典的浅拷贝,具体可以查查浅拷贝和深拷贝的区别。 - fromkeys
dict.fromkeys(seq[, value])),用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值。 - get
如果查询的 key 在字典中,则返回对应的 value,否则返回 None - has_key
返回 bool 值,若 key 在字典中,返回 True,否则返回 False - items
以列表形式返回可遍历的(键, 值) 元组数组。一般用于 for 结构中。 - iteritems
返回的是一个迭代器,与 items 类似,只不过迭代器在数量很大时可以节省内存。python 3 没有这个方法,估计是绑定在 items 中了。 - pop
移除给定的 key 的键值对,返回 key 对应的 value。必须给定参数,若给定的 key 不在字典中,会抛出 KeyError。如果删除多个,默认删除第一个,不会删除其他 key 对应的值。 - popitem
不需要参数,删除最后一个键值对,并返回它。若字典为空,抛出异常 KeyError。 - setdefault
与get() 方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值。另外 collections 模块中有一个 defaultdict 结构与此类似,但是比这个高效。 - update
将另一个字典的值更新到此字典中,若 key 重复,取最新的一个 value。 - values
以列表形式返回字典中的所有 value 值,同样的还有 keys 方法。在 python 3 中会返回 <class 'dict_values'> 对象。
另外的在 python 3 中已经没有了,若不齐全,请改正!
后续碰到新的,会更新。。。
另外推荐一本书《流畅的 python》,里面将的内容很有深度,对理解这些数据结构大有脾益!
网友评论