玩命加载中...
### 3. range函数
`range`函数可生成一个整数列list。
`range(n)`返回一个0到n-1的list。
`range(m, n)`返回一个m到n-1的list。
`range(m, n, s)`返回一个m到n-1步长为s的list。
```python
a = range(5)
print a
b = range(3, 10)
print b
c = range(2, 10, 2)
print c
d = range(10, -10, -2)
print d
```
### 4. list与in, for
在2.读取元素的例子中,我们已经看到了,`in`和`for`在list上的应用。
`in`是逻辑运算,用来判断某元素是否在某list中,其返回值为`True`或者`False`。例如:
```python
my_list = range(2, 10, 2)
print 3 in my_list
print 6 in my_list
print [6] in my_list
#试试看使用not会是什么效果
print 3 not in my_list
print 6 not in my_list
```
`for item in my_list:`将会依次取出`my_list`的元素,并存放在变量`item`中,当取下一个元素时`item`会被重新赋值。
```python
for item in my_list:
print item
#这里item只是一个变量名,没有具体的含义。所以为了方便,我们也可以写成:
for i in my_list:
print i
```
“依次”意味着我们从第一个元素,读到最后一个元素为止。
```python
for k in [1, 2, 3, 3]:
print k
# 想想下面的循环会输出什么样的结果
for k in [3, 3, 1, 2]:
print k
for k in [3, [3, 1], [2]]:
print k
```
`for item in my_list:`是一种很高效的遍历整个list的方法。另外我们也可以用如下的方法对list中的元素进行遍历:
```python
my_list = [2, 3, 7, 2, 0]
for i in range(len(my_list)):
print my_list[i]
#对比一下,你觉得哪种更好呢?
for i in my_list:
print i
```
### 5.list与enumerate
库函数`enumerate`提供了另外一种对list遍历的方法。
```python
#定义一个list
my_list = ['data', 'stat', 'python', 'java', 'fun', 'sofasofa']
#enumerate(my_list)将枚举该list中的index和元素。
print list(enumerate(my_list))
#当我们使用for与enumerate,可以同时得到index和element
for i, j in enumerate(my_list):
print i, j
```