python进阶day5

python进阶之路

Day5

hello world!今日是python学习的第五天,我将会在下面文章对基础语法进行一些介绍,主要为列表与元组的学习等。

1. 列表

1.1 增 - 列表中添加元素
1) append

​ 列表.append() - 在列表的最后添加指定的元素,没有返回值(不会产生新的数据,是直接修改的原列表)

names = ['路飞','佐罗','罗宾']
names.append('娜美')
print(names)
2) insert

​ 列表.insert(下标,元素) - 在列表中指定下标前插入指定的元素。

names.insert(1,'乌索普')
print(names)
names.insert(-5,'山治')
print(names)
names.append(['明哥','黑胡子'])
print(names)
3) extend

​ 列表.extend(序列) - 将序列中所有的元素添加到列表的最后

sports = ['篮球' ,'足球','乒乓球']
sports.extend(['羽毛球','排球'])
print(sports)

​ 练习:给一个分数列表:[90,56,78,89,45,60,32,100].在这个列表中所有不及格的分数后加上0。
​ 分析:下标会随着插入值而发生改变。0 插得越多,下标会增大

list1 = [90,56,78,89,45,60,32,100]
list2 = list1[:]
k = 1
for i,j in enumerate(list1):
    if j < 60:
        list2.insert(i+k,0)
        k += 1
print(list2)

​ 方法2:

list1 = [90,56,78,89,45,60,32,100]
list2 = list1[:]
index = 0
for i in list1:
    print(index,i)
    if i < 60:
        list2.insert(index+1,0)
        index += 1
    index += 1
print(list2)

以下选项中能够产生列表[1,2,3]的有哪些?
[1,2].extend(3)

1.2 删 - 删除元素
1)del 列表[下标] - 删除列表中指定下标对应的元素
names = ['后羿','王昭君','伽罗','百里守约','甄姬']
del names[-3]
print(names)
del names[-3]
print(names)

​ 注意:删除时不能越界

2) remove

​ 列表.remove(元素) - 删除列表中指定的元素

names = ['后羿','王昭君','伽罗','百里守约','甄姬']
names.remove('伽罗')
print(names)
names.remove('鲁班七号') 会报错
names = ['后羿','王昭君','伽罗','百里守约','王昭君']
names.remove('王昭君')
print(names)
3) pop

​ 列表.pop() - 取出列表中的最后一个元素
​ 列表.pop(下标) - 取出列表中指定下标对应的元素

names = ['后羿','王昭君','伽罗','百里守约','王昭君']
name = names.pop()
print(names) # 返回的数据就是取出的元素
print(names, name)
4) clear

​ 列表.clear() - 删除列表中所有的元素

names = ['后羿','王昭君','伽罗','百里守约','王昭君']
names.clear()
print(names)
names = ['后羿','王昭君','伽罗','百里守约','王昭君']
names = []

​ 第一种效率要比第二种效率要高

​ 练习:删除所有低于60分的分数

scores = [90,56,40,67,92,89,59]
# python中用一个变量直接给另外一个变量赋值,赋的是前一个变量的地址。
# 切片时会产生新的地址,那么赋的值为另外的地址。
# 直接赋值与切片的区别:
scores1 = scores[:]
for i in scores:
    if i < 60:
        scores1.remove(i)
print(scores1)

​ 列表中进行增删会造成下标的改变,所以进行增删的列表不应与遍历的列表为同一个。
​ 方法2:用while循环实现下标的删除(自己思考)

1.3 改 - 修改列表中元素的值:

​ 列表[下标] = 新元素 - 将列表指定下标对应的元素修改成新的元素。

movies = ['恐怖游轮','致命ID','忍者神龟','赌神','雪国列车']
movies[3] = '盗梦空间'
print(movies)

​ 练习:将scores中低于60分的成绩全部置0

scores = [90,56,40,67,92,89,59]
for i in range(len(scores)):
 if scores[i] < 60:
     scores[i] = 0
print(scores)
1.4 列表的加法运算和乘法运算

​ 列表1 + 列表2 - 将列表1与列表2合并产生一个新的列表
​ 列表 * N / N * 列表 - 列表中的元素重复n次产生一个新的列表(n为正整数)

list1 = [10,20,30] + [1,2,3]
print(list1)
list2 = [10,20,30] * 3
print(list2)

​ 加法与乘法运算不会修改原列表。

1.5 比较运算
1) ==,!=
print([10,20,30] == [20,10,30])
2) >,<,>=,<=

​ 两个列表比较大小,比较的是第一对不相等的元素的大小(从前往后下标相同的元素为一对)

print([100,200,300,400] > [200,100])
print([100,200,300,400] > [100,100])
1.6 in 和 not in

​ 元素 in 列表 - 判断指定的元素是否在指定列表中
​ 元素 not in 列表 - 判断指定元素是否不在指定列表中。

names = ['李白','杜甫','白居易','辛弃疾']
print('陶渊明' in names)
print('杜甫' in names)

​ 练习: 获取同时选了两门课的学生姓名;

pythons = ['小明','张三','小花','Bob','Jim']
javas = ['李四','小明','王五','Bob','Jim']
for i in pythons:
 if i in javas:
     print(i,end = ' ')
1.7 系统函数:len,max,min,sorted,sum,list
1) len(序列) - 获取序列中元素的个数
print()
print(len(pythons))
2) max(序列)/min(序列) - 求序列中元素的最大值/最小值
scores = [89,78,56,90,87,96,45,67]
print(max(scores))
3) sorted(序列) - 对序列中的元素从小到大排序。产生一个新的列表,(不会修改原序列)
new_scores = sorted(scores)
print(scores)
print(new_scores) # 返回值是排序的结果
sorted(序列,reverse = True- 对序列中的元素从大到小排序,产生一个新的列表,(不会修改原序列)
new_scores = sorted(scores,reverse = True)
print(new_scores)
4) sum(序列) - 求序列中所有元素的和
sum1 = sum(scores)
print('和:',sum1)
print('平均分:', sum(scores)/len(scores))
print(sum(range(101)))
5) list(序列) - 将指定的序列转换成列表

​ 1) 所有的序列都可以转换成列表 2)将序列中的元素变成列表中的元素。

print(list('adc'))
6) 列表.copy() - 复制原列表产生一个一摸一样的新列表(相当于 列表【:】;浅拷贝)
nums = [10,20,30]
scores2 = nums
scores = nums.copy() # 产生一个新地址
nums.remove(20)
print(scores2,scores)
7) 列表.count(元素) - 统计列表中指定元素的个数
foods = ['大闸蟹','小龙虾','小龙虾','花甲','包子','油条']
print(foods.count('小龙虾'))
8) 列表.index(元素) - 获取指定元素的下标
print(foods.index('花甲')) # 多个的时仅获取第一个;如果元素不存在,会报错。
9) 列表.reverse() - 将指定的列表逆序
foods = ['大闸蟹','小龙虾','小龙虾','花甲','包子','油条']
foods.reverse()
print(foods)
10) 列表.sort() - 将列表中的元素从小到大排序(不会产生新的列表)

​ 列表.sort(reverse = True) - 将列表中的元素从大到小排序(不会产生新的列表)

ages = [56,89,23,34,18,23,25]
ages.sort()
print(ages)

ages = [56,89,23,34,18,23,25]
ages.sort(reverse = True)
print(ages)

2.元组

​ 元组就是不可变的列表;列表中除了增删改的操作,其他元组都支持。
​ 元组(tuple):(元素1,元素2,元素3,。。。)
​ 元组支持count,index操作。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值