1.循环嵌套和对列表的认识

1.循环嵌套的执行原则:外循环一次,内循环完整

for x in range(5):
    for y in range(2, 5):
        print(x, y)


x取值范围:0,1,2,3,4
第1次  x=0:  执行循环体对应的for循环, y取值范围是: 2,3,4
            第1次 y=2: print(x, y) -> print(0, 2)
            第2次 y=3: print(x, y) -> print(0, 3)
            第3次 y=4: print(x, y) -> print(0, 4)
            内循环结束
第2次  x=1:  执行循环体对应的for循环, y取值范围是: 2,3,4
            第1次 y=2: print(x, y) -> print(1, 2)
            第2次 y=3: print(x, y) -> print(1, 3)
            第3次 y=4: print(x, y) -> print(1, 4)
            内循环结束

2.什么是列表(list)

1)列表是容器型数据类型(序列),将[]z作为容器的标志,里面多个元素用逗号隔开:[元素1, 元素2, 元素3,...]
2)列表是可变的(元素的个数、值和顺序可变) - 增、删、改;列表是有序的 - 支持下标操作
3)列表对元素的要求:没有要求(不管什么类型的数据都可以作为列表的元素)
'''

1)空列表
list1 = []
list2 = [ ]
print(type(list1), type(list2))     # <class 'list'> <class 'list'>
print(bool(list1), bool(list2))     # False False
print(len(list1), len(list2))       # 0 0

2) 列表可以同时保存多个数据
list3 = [89, 90, 76, 99, 58]
print(list3)

list4 = ['谭', 3, 100, True]
print(list4)

3.查 - 获取元素

查分为三种情况:获取单个元素、切片、遍历(一个一个的取)

1)获取单个元素
语法: 列表[下标]
功能:获取列表中指定下标对应的元素
说明:
列表      -       任何结果是列表的表达式,比如:保存列表的变量、具体的列表值等
[]       -        固定写法
下标      -       下标又叫索引,是元素在有序序列中位置信息。
                  python中有序序列中每个元素都有两组下标值,分别是:从前往后从0开始递增的下标值;从后往前从-1开始递减的下标值
注意:下标不能越界
list3 = [89, 90, 76, 99, 58]
list3[下标]
[89, 90, 76, 99, 58][下标]

names = ['戴安娜', '托儿索', '小学憎', '奥巴马', '卡尔玛', '拉克丝']
print(names[0])			# 戴安娜
print(names[-1])		# 拉克丝
print(names[-2])		# 卡尔玛
print(names[-5])		# 托儿索
print(names[10])   		# 报错
2)遍历

方式1 - 直接获取列表中的每个元素

for 变量 in 列表:
    循环体


方式2 - 先获取到每个元素的下标值,然后通过下标再获取元素
for 下标 in range(len(列表)):
    循环体

for 下标 in range(-1, -len(列表)-1, -1):
    循环体
    
range(len(列表)) == range(列表中元素的个数)


方式3 - 同时获取列表中每个元素和元素对应的下标
for 下标,元素 in enumerate(列表):
    循环体
    
    
print('----------------华丽的分隔线--------------')
for index in range(len(names)):
    print(index, names[index])

print('----------------华丽的分隔线--------------')
for index, item in enumerate(names):
    print(index, item)

练习1: 统计不及格人数

scores = [89, 67, 56, 90, 98, 30, 78, 51, 99]
count = 0
for x in scores:
    if x < 60:
        count += 1
print('不及格人数:', count)

练习2:统计列表中整数的个数

list7 = [89, 9.9, 'abc', True, 'abc', '10', 81, 90, 23]
count = 0
for x in list7:
    if type(x) == int:
        count += 1
print(count)

练习3:求nums中所有偶数的和

nums = [89, 67, 56, 90, 98, 30, 78, 51, 99]
sum1 = 0
for x in nums:
    if x % 2 == 0:
        sum1 += x
print('所有偶数的和:', sum1)

4. 增 - 添加元素

  1. 添加单个元素
    列表.append(元素) - 在列表的最后添加一个元素
    列表.insert(下标, 元素) - 在指定下标对应的元素前插入指定元素
movies = ['五十六度灰', '哥斯拉大战金刚', '桃花侠大战菊花怪']
print(movies)       # ['五十六度灰', '哥斯拉大战金刚', '桃花侠大战菊花怪']

movies.append('肖生克的救赎')
print(movies)       # ['五十六度灰', '哥斯拉大战金刚', '桃花侠大战菊花怪', '肖生克的救赎']

movies.insert(2, '沉默的羔羊')
print(movies)       # ['五十六度灰', '哥斯拉大战金刚', '沉默的羔羊', '桃花侠大战菊花怪', '肖生克的救赎']

2)批量添加

列表1.extend(列表2)  - 将列表2元素全部添加到列表1的后面
movies.extend(['让子弹飞', '触不可及', 'V字仇杀队'])
print(movies)       # ['五十六度灰', '哥斯拉大战金刚', '沉默的羔羊', '桃花侠大战菊花怪', '肖生克的救赎', '让子弹飞', '触不可及', 'V字仇杀队']

练习:将scores中所有的及格的分数提取出来

scores = [89, 67, 56, 90, 98, 30, 78, 51, 99]
scores2 = []
for x in scores:
    if x >= 60:
        scores2.append(x)
print(scores2)
上一篇:第六章:加载和存储数据


下一篇:linux 系统被***之后你要做什么