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~5range()函数也可以只包含三个参数,用以指定步长,如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

  • 也可以使用索引来访问元素,访问语法与访问列表元素相同;
  • 试图给元组中的元素赋值会报错;
  • 严格的说,元组是由逗号标识的,圆括号只是让其看起来更整洁,
    所以定义只包含一个元素的元组时,必须在这个元素后面加上逗号;
  • 遍历元组值的方法与遍历列表相同
  • 虽然不能修改元组的元素,但可以给表示元组的变量赋值(重新定义整个元组)