Python核心学习笔记(二)操作列表
- 一、遍历整个列表
- 循环变量for
- 二、 创建数值列表
- 1.range函数
- 2.range()创建数值列表
- 3.对数值列表执行简单的统计计算
- 4.列表推导式
- 三、使用列表的一部分
- 1.切片
- 2.遍历切片
- 3.复制列表
- 四、元组
一、遍历整个列表
循环变量for
使用for循环,可以遍历列表中的每一个元素。
name = ['Huang Wei','nB','apple','DDD',]
for joker in name:
print(joker)
print(type(joker))
print(joker)
输出:
Huang Wei
<class 'str'>
nB
<class 'str'>
apple
<class 'str'>
DDD
<class 'str'>
DDD
注意:循环for只重复执行紧接它的缩进语句
for语句末尾的冒号告诉python,下一行是循环的第一行
二、 创建数值列表
1.range函数
使用range()函数可以轻松地生成一系列的数
for value in range(1,6):
print(value,end="\t")
输出:1 2 3 4 5
注意并不会打印6,即
range()
函数从指定的第一个数开始数,到指定的第二个数停止,且不包含第二个数的值range()
函数也可以只包含一个参数,如range(6)
将返回数0~5
range()
函数也可以只包含三个参数,用以指定步长,如range(1,6,2)
,将返回数1 3 5
2.range()创建数值列表
可使用list()函数将结果直接转换为列表
numbers=list(range(1,6,2))
print(numbers)
输出:[1, 3, 5]
eg.如何将1~10的平方加入一个列表
squares =[]
for i in range(1,11):
squares.append(i**2)
print(squares)
输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3.对数值列表执行简单的统计计算
可以使用一些简单的函数,如:min、max、sum
hhh=[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
print(min(hhh))
print(max(hhh))
print(sum(hhh))
4.列表推导式
列表推导式将for循环和创建新元素的代码合并成一行,并自动追加新元素
squares=[value**2 for value in range(1,11)]
print(squares)
输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
注意上面for语句的末尾没有冒号
三、使用列表的一部分
1.切片
要创建切片,需要指定使用的第一个元素和最后一个元素的索引,并且会在到达最后一个索引前停止。
name = ['Huang Wei','nB','apple','DDD',]
print(name[0:3]
则输出:['Huang Wei', 'nB', 'apple']
对应索引为:0 1 2
print(name[-3:])
则输出:['nB', 'apple', 'DDD']
2.遍历切片
for name in names[:3]:
print(name,end="\t")
输出:Huang Wei nB apple
3.复制列表
使用 [:]来使得取得列表中的全部元素
names = ['Huang Wei','nB','apple','DDD',]
GGBOND=names[:]
print(GGBOND)
输出:['Huang Wei', 'nB', 'apple', 'DDD']
注意:GGBOUD=names 是行不通的,相当于他们指向了一个列表
四、元组
Python 将不能修改的值称为不可变的,而不可变的列表称为元组(tuple)。
元组很像列表,但使用圆括号而不是方括号来定义标识,且不支持对其中的值进行修改
names = ('Huang Wei','nB','apple','DDD',)
names[0]="APPLE"
输出:TypeError: 'tuple' object does not support item assignment
- 也可以使用索引来访问元素,访问语法与访问列表元素相同;
- 试图给元组中的元素赋值会报错;
- 严格的说,元组是由逗号标识的,圆括号只是让其看起来更整洁,
所以定义只包含一个元素的元组时,必须在这个元素后面加上逗号; - 遍历元组值的方法与遍历列表相同
- 虽然不能修改元组的元素,但可以给表示元组的变量赋值(重新定义整个元组)