ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

day5-循环练习和列表

2021-07-16 18:33:29  阅读:135  来源: 互联网

标签:day5 下标 元素 练习 names scores print 列表


Python-列表

1.什么是列表(list)

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

1)空列表
len(列表) - 获取列表中元素的个数

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 = ['李四', 18, '男', 100, True]
print(list4)
list5 = [10, 12.5, True, 'abc', [1, 0], {'a': 10}, (20, 9), {20, 9}, lambda x: x * 2]
print(list5)
list6 = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
print(len(list6))

2.查 - 获取元素

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

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

names = ['甄姬', '貂蝉', '韩信', '吕布', '赵云', '后裔', '鲁班', '狄仁杰']
print(names[1])
print(names[-1])
print(names[3])
# print(names[10])    # 报错

② 遍历

方式1 - 直接获取列表中的每个元素
for 元素 in 列表:
循环体

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

② for 下标 in range(-1, -len(列表)-1, -1):
循环体

range(len(列表)) == range(列表中元素的个数)

方式3 - 同时获取列表中每个元素和元素对应的下标
for 下标, 元素 in enumerate(列表):
循环体

names = ['甄姬', '貂蝉', '韩信', '吕布', '赵云', '后裔', '鲁班', '狄仁杰']
for x in names:
    print(x)

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)

1)增 - 添加元素

① 添加单个元素

列表.append(元素) - 在列表的最后添加一个元素
列表.insert(下标, 元素) - 在指定下标对应的元素前插入指定元素

movies = ['五十六度灰', '哥斯拉大战金刚', '桃花侠大战菊花怪']
print(movies)     # ['五十六度灰', '哥斯拉大战金刚', '桃花侠大战菊花怪']

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

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

② 批量添加

列表1.extend(列表2) - 将列表2元素全部添加到列表1的后面

movies.extend(['让子弹飞', '触不可及', 'V字仇杀队'])
print(movies)   # ['五十六度灰', '哥斯拉大战金刚', '沉默的羔羊', '桃花侠大战菊花怪', '肖生克的救赎', '让子弹飞', '触不可及']

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


scores = [89, 67, 56, 90, 98, 30, 78, 51, 99]
new_scores = []
for x in scores:
    if x >= 60:
        new_scores.append(x)

print(new_scores)

标签:day5,下标,元素,练习,names,scores,print,列表
来源: https://blog.csdn.net/qq_40692916/article/details/118814371

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有