2016-04-03
21:02:50
python list的遍历
list[a::b] #从list[a] 开始,每b个得到一个元组,返回新的list
举个例子:
>>> li=range(20)
>>> li[5::5]
[5, 10, 15]
>>> range
<built-in function range>
>>> li
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>>
2016-03-25
19:10:40
python BIT
enumerate() 内建方法,用于加工一个可迭代的对象比如 list,并返回 (0, seq[0]), (1, seq[1]), (2, seq[2]), ...这种格式的信息
参考解释:
class enumerate(object)
| enumerate(iterable[, start]) -> iterator for index, value of iterable
|
| Return an enumerate object. iterable must be another object that supports
| iteration. The enumerate object yields pairs containing a count (from
| start, which defaults to zero) and a value yielded by the iterable argument.
| enumerate is useful for obtaining an indexed list:
| (0, seq[0]), (1, seq[1]), (2, seq[2]), ...
应用举例:
>>> for i,j in enumerate([1,2,3,4,5]):
print i,j 0 1
1 2
2 3
3 4
4 5
访问列表可通过索引来引用,如:list[0]将引用列表的第一个值。list[0:1]返回第一和第二个元素。
-
可通过列表综合来创建列表,该功能是在python2.0版本中新增加的。如果想对列表中的每个项进行运算并把结果存储在一个新列表中,可者想创建一个仅包含特定满足某种条件的项,采用该方法是很适合的。如:[x*x for x in range(1,10)]会得到一个X的平方的新列表;我们还可添加if条件控制输出,如:[x*x for x in range(1,10) if x%2==0];还可在列表中使用多个for语句,如:
>>> [x+y for x in "123" for y in "abc"]
['1a', '1b', '1c', '2a', '2b', '2c', '3a', '3b', '3c']x,y值可取列表或元组等,以构成更复杂的结构。
“+”号可连接两个列表。
访问列表的列表(嵌套列表)可用list[1][0],这将访问嵌套中的第二个列表的第一个元素。
可用数字与列表相乘以复制内容,如:list*2会得到一个[1,2,3,4,1,2,3,4]的列表。注意,不能用列表与列表相乘。
函数快速查找
方法 | 描述 |
---|---|
append(x) | 在列表尾部追加单个对象x。使用多个参数会引起异常。 |
count(x) | 返回对象x在列表中出现的次数。 |
extend(L) | 将列表L中的表项添加到列表中。返回None。 |
Index(x) | 返回列表中匹配对象x的第一个列表项的索引。无匹配元素时产生异常。 |
insert(i,x) | 在索引为i的元素前插入对象x。如list.insert(0,x)在第一项前插入对象。返回None。 |
pop(x) | 删除列表中索引为x的表项,并返回该表项的值。若未指定索引,pop返回列表最后一项。 |
remove(x) | 删除列表中匹配对象x的第一个元素。匹配元素时产生异常。返回None。 |
reverse() | 颠倒列表元素的顺序。 |
sort() | 对列表排序,返回none。bisect模块可用于排序列表项的添加和删除。 |