遍历
names =['zhangsan','lisi','wangmazi']
print('初始列表:',names)
print('利用for循环打印列表中全部元素:')
#将表中每一个元素赋值给name,再打印出来
for name in names:
print(name)
结果:
初始列表: [‘zhangsan’, ‘lisi’, ‘wangmazi’]
利用for循环打印列表中全部元素:
zhangsan
lisi
wangmazi
分析:通过for循环实现遍历
#在for循环中是通过缩进来判断是否在for循环
#注意for循环末尾有冒号“:”,注意for循环后面还有一个冒号“:”
函数range()的使用
range(min,max)函数产生从最小值min到最大值max-1,步长为1的几个数
range(min,max,len) 参数len是指步长,如第一个数是1,name第二个数为1+len
print('产生从1到5-1,步长为1的几个数:')
for number in range(1,5):
print(number)
print('\n');
print('产生从1到5-1,步长为2的几个数:')
for number in range(1,5,2):#步长可以修改为任意值,这里改为2
print(number)
结果:
产生从1到5-1,步长为1的几个数:
1
2
3
4
产生从1到5-1,步长为2的几个数:
1
3
使用range()函数和list()函数将结果转换为列表
numbers = list(range(1,10,3))
print('使用range()函数和list()函数将结果转换为列表,创建的列表为:',numbers)
print('输出1到10的平方:')
squares = []
for value in range(1,11):
squares.append(value**2)
print(squares)
结果:
使用range()函数和list()函数将结果转换为列表,创建的列表为: [1, 4, 7]
输出1到10的平方: [1, 4, 9,16, 25, 36, 49, 64, 81, 100]
处理数字列表的函数
函数min()求列表中的最小数值
函数max()求列表中的最大值
函数sum()求数字列表的和
numbers=[1, 4, 7]
print('max:',max(numbers))
print('min:',min(numbers))
print('sum:',sum(numbers))
结果:
max: 7
min: 1
sum: 12
列表解析,将多行代码合为一行达到同样的效果
Num = [pow(value,3) for value in range(1,11)]
print('通过列表解析输出1到10的立方',Num)
结果:
通过列表解析输出1到10的立方 [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
使用列表的一部分—切片
#name[index1:index2]访问列表从index1到index-1的元素
#name[:] //访问全部元素
#name[0:] //访问从第一个元素开始到最后一个元素
#name[:5] //访问从列表开头(第一个元素)到第四(5-1)个元素
names = ['A','C','D','E']
print(names[0:3])
#遍历切片
for name in names[:3]:
print(name)
结果:
[‘A’, ‘C’, ‘D’]
列表的复制
创建包含一整个列表的切片,然后复制这个切片
print('原始列表names:',names)
#通过复制包含整个name的切片,来复制一个新的列表
newNames = names[:]
print('复制后列表newNames:',newNames)
names.append('zhangsan') #在names中加一个元素
print('names:',names) #输出names列表
newNames.append('lisi') #在newNames中加另一个元素
print('newName:',newNames)
结果:
原始列表names: [‘A’, ‘C’, ‘D’, ‘E’]
复制后列表newNames: [‘A’, ‘C’, ‘D’, ‘E’]
names: [‘A’, ‘C’, ‘D’, ‘E’, ‘zhangsan’]
newName: [‘A’, ‘C’, ‘D’, ‘E’,‘lisi’]
分析:可以看到names和newNames是两个对象,因为在给俩个列表加不同的元素后,新的两个列表元素不一样
直接复制的时候:
newNames = names
print('复制后列表newNames:',newNames)
names.append('zhangsan')
newNames.append('lisi')
print('names:',names)
print('newName:',newNames)
结果:
原始列表names: [‘A’, ‘C’, ‘D’, ‘E’]
复制后列表newNames: [‘A’, ‘C’, ‘D’, ‘E’]
names: [‘A’, ‘C’, ‘D’, ‘E’, ‘zhangsan’, ‘lisi’]
newName: [‘A’, ‘C’,‘D’, ‘E’, ‘zhangsan’, ‘lisi’]
分析:可以看到names和newNames是两个相同的对象,因为在给俩个列表加不同的元素后,新的两个列表元素一样,这说明直接复制的时候只是把原列表的地址给了newNames,也就是说让新列表页指向原列表,这样一来,每次对列表names或者列表nawNames都是在对同一个列表进行操作