第四章 操作列表
遍历
var = [1,3,2,4]
for var in var :
print(var)
1
3
2
4
这里用到了for循环,python中的循环语句不同于C语言(第一门语言学的C,所以遇到的一些差异都是和C做对比)
C语言中for 循环是这样的
for(int i=0;i<n,i++){
}
而python中for大多用于遍历任何序列的项目,如列表,字符串。格式为
for letter in 'Python':
print('当前字母 :', letter)
当前字母 : P
当前字母 : y
当前字母 : t
当前字母 : h
当前字母 : o
当前字母 : n
range()
1. 创建列表
var = list (range(1,6))
print(var)
[1, 2, 3, 4, 5]
var = list(range(2,11,2))
print(var)
[2, 4, 6, 8, 10]
range(a,b,c)
从a到b,每个加c
列表解析
这种语法先要指定列表名,这里是var,接着一对方括号,方括号中定义一个表达式value**,用于生成存储于列表var中的值。接下来是一个for循环,用于给value赋值。可以说这个语法是用于简化代码。
var = [value**2 for value in range(1, 11)]
print(var)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
切片
python中处理部分元素称为切片
var = ['a', 'b', 'c', 'd', 'e']
print(var[1:3])
['b', 'c']
如果没有指定第一个引索,将自动从列表开头开始
var = ['a', 'b', 'c', 'd', 'e']
print(var[:3])
['a', 'b', 'c']
相似的也可以从中间提取到末尾
var = ['a', 'b', 'c', 'd', 'e']
print(var[3:])
['d', 'e']
如果需要输出末尾几位,只需要加上负号
var = ['a', 'b', 'c', 'd', 'e']
print(var[-3:])
['c', 'd']
负数的索引值即为离列表末尾相应距离的元素
遍历切片
在for循环中使用切片即可遍历切片
var = ['a', 'b', 'c', 'd', 'e']
for varin var[3:]:
print(var)
d
e
复制列表
复制列表即创建一个新的包含整个切片的列表,只需在方括号中同时省略起始引索值和终止引索值
这里为了更方便的看出是否是新复制的列表,在var_2中新添加了一个元素f
var = ['a', 'b', 'c', 'd', 'e']
var_2 = var[:]
var_2.append('f')
print("var:"+str(var))
print("var_2:"+str(var_2))
var:['a', 'b', 'c', 'd', 'e']
var_2:['a', 'b', 'c', 'd', 'e', 'f']
元组
python将不可变的值称为元,列表用方括号,元组用圆括号,像列表一样用引索访问元素。
var = (12, 20)
var[0] =15
print(var)
像这样用修改列表元素一样的方法来修改元组元素,python会返回错误
Traceback (most recent call last): File "/Users/dh/PycharmProjects/untitled1/python.py", line 2, in var[0] = 15
TypeError: 'tuple' object does not support item assignment
修改元组变量
想要修改元组里的值要重新定义元组
var = (12, 20)
var = (15, 20)
print(var)
(15, 20)