Python 以练促学之 List 篇
文章目录
- 以练促学
- 练习 1,在 Python 中反转给定的 List
- 练习 2,按索引连接两个 List
- 练习 3,给出一个数字类型的 Python List。将 List 中的每一项转换成它的平方
- 练习 4,连接两个 List
- 练习 5,给出两个 Python List。同时迭代这两个 List,第一个 List 以原始顺序显示,第二个 List 以相反顺序显示
- 练习 6,从字符串 List 中删除空字符串
- 练习 7,在下面的 Python List 中 6000 之后添加元素 7000
- 练习 8,扩展嵌套字符串 List
- 练习 9,给定一个 Python List,在 List 中找到值 20,如果它存在,用 200 替换它。只更新第一次出现的值
- 练习 10,给定一个 Python List,从 List 中删除所有出现 20 的值
以练促学
以练促学可能是巩固所学的最佳方法之一,当然,学 Python 也不例外。继昨天在 CSDN 发布 《Python 基础备忘之 List 篇》 的知识整理后,继续整理 List 知识相关的练习,以练促学。
本文一共整理了 10 题 Python List 练习题,所涵盖知识包括:
- Python List 操作;
- Python List 函数;
- Python List 切片;
- Python List 推导式;
这些练习题都收集自网络,灵感来源于 Edabit ,Edabit 是收集各种编程语言(JS、Python、Ruby、Swift、PHP、Java、C#、C++)练习题的网站,可以在线编码,然后验证答案。其官方 “About Edabit” 中有一句介绍是:
We’re like Duolingo for learning to code.
大概是像 Duolingo (多邻国)学习外语一样学习编码吧。之所以喜欢 Edabit 的原因是,在每道练习中的 Resources 里都包含了这道题的相关联知识,这样就能清楚知道练习和哪些知识有关,在大量练习后就能更牢固掌握所学知识了。
练习题的描述:
练习题的相关知识点资源列表:
遗憾的是 Edabit 现在是有限免费使用,需要成为 Pro 用户才能“畅通无阻”,而且价格小贵,重要的是暂时还不支持国内的信用卡支付。所以,如果我的练习题是来自 Edabit 的话,并不能查看答案,那么答案就有可能是错误的,也欢迎在评论区批评指正。
练习题的答案,只有 Pro 用户才能查看所有题目的答案:
练习 1,在 Python 中反转给定的 List
l = [1, 2, 3, 4, 5]
预期结果:
[5, 4, 3, 2, 1]
解决方案:
# 切片方法
l = l[::-1]# sort(*, key=None, reverse=False) 方法
l.sort(reverse = True)
练习 2,按索引连接两个 List
l1 = ["M", "na", "i", "Ke"]
l2 = ["y", "me", "s", "lly"]
预期结果:
['My', 'name', 'is', 'Kelly']
解决方案:
l3 = [i + j for i, j in zip(l1, l2)]
练习 3,给出一个数字类型的 Python List。将 List 中的每一项转换成它的平方
l = [1, 2, 3, 4, 5, 6, 7]
预期结果:
[1, 4, 9, 16, 25, 36, 49]
解决方案:
l = [x * x for x in l]
练习 4,连接两个 List
l1 = ["Hello ", "take "]
l2 = ["Dear", "Sir"]
预期结果:
['Hello Dear', 'Hello Sir', 'take Dear', 'take Sir']
解决方案:
l3 = [x+y for x in l1 for y in l2]
练习 5,给出两个 Python List。同时迭代这两个 List,第一个 List 以原始顺序显示,第二个 List 以相反顺序显示
l1 = [10, 20, 30, 40]
l2 = [100, 200, 300, 400]
预期结果:
10 400
20 300
30 200
40 100
解决方案:
for x, y in zip(l1, l2[::-1]):print(x, y)
练习 6,从字符串 List 中删除空字符串
l1 = ["Mike", "", "Emma", "Kelly", "", "Brad"]
预期结果:
["Mike", "Emma", "Kelly", "Brad"]
解决方案:
l2 = list(filter(None,l1))
练习 7,在下面的 Python List 中 6000 之后添加元素 7000
l1 = [10, 20, [300, 400, [5000, 6000], 500], 30, 40]
预期结果:
[10, 20, [300, 400, [5000, 6000, 7000], 500], 30, 40]
解决方案:
l1[2][2].append(7000)
练习 8,扩展嵌套字符串 List
l1 = ["a", "b", ["c", ["d", "e", ["f", "g"], "k"], "l"], "m", "n"]
预期结果:
['a', 'b', ['c', ['d', 'e', ['f', 'g', 'h', 'i', 'j'], 'k'], 'l'], 'm', 'n']
解决方案:
subList = ["h", "i", "j"]
l1[2][1][2].extend(subList)
练习 9,给定一个 Python List,在 List 中找到值 20,如果它存在,用 200 替换它。只更新第一次出现的值
l1 = [5, 10, 15, 20, 25, 50, 20]
预期结果:
[5, 10, 15, 200, 25, 50, 20]
解决方案:
index = l1.index(20)
l1[index] = 200
练习 10,给定一个 Python List,从 List 中删除所有出现 20 的值
l1 = [5, 20, 15, 20, 25, 50, 20]
预期结果:
[5, 15, 25, 50]
解决方案:
def removeValue(l, val):return [value for value in l if value != val]l2 = removeValue(l1, 20)
Python 以练促学之 List 篇相关推荐
- Python学习---入门导学篇
Python学习---入门导学篇 Python的特点 Python受人喜欢的原因 Python的缺点 Python能做什么? Python基础语法 Python的特点 1.Python是一门编程语言, ...
- python n个list如何组成矩阵_学完Python,我决定熬夜整理这篇总结...
来源:http://suo.im/5wzRqt 前言:学完Python,我决定熬夜整理这篇总结- 一.了解Python Python之父 Guido Van Rossum,一位荷兰程序员,在1989年 ...
- python零基础能学吗 知乎-如何零基础入门 Python?
从17年6月入门Python到今天有大半年了,总结一下这半年来自学Python的路径. 本人只在两年前接触过HTML和CSS,但严格来说这两门只能算是标记语言而非编程语言,而且开始学Python的时候 ...
- python练手经典100例-Python 的练手项目有哪些值得推荐?
首先两点建议:最好不要写太应用的程序练手,如果你发现你写程序的大部分时间都在查库手册(或者类似的事情),那就是大家所说的"搬砖"了:要思考什么更像是知识,什么只是经验,还是那句老话 ...
- python小白练手集合
人工智能是都要会Python吗?前两天老师一个师兄演示写神经网络,一屋子人就我连python语法都是小白马= = 这两天在网上找了一些公开课在学python,然后呢~课程有点枯燥,理论方面的有很多小花 ...
- python从0开始学编程课件_小白从零开始学编程(三)--python基本概念
前言 从2020年3月份开始,计划写一系列文档--<小白从零开始学编程>,记录自己从0开始学习的一些东西. 第一个系列:python,计划从安装.环境搭建.基本语法.到利用Django和F ...
- 学了python能干啥-第9p,Python是什么?学了Python能干什么?
大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第9篇文章,第二阶段的课程:Python基础知识之Python语言介绍 学习本课程,建议先学习:[计算机基础知识]课程 一.Pyth ...
- python零基础难学吗-如何从零开始学习Python,零基础学python难吗
Python并不难学,它诞生至今已经过25个年头,但相对于其他语言,它更加易学.易读,非常适合快速开发,Python编程简单直接,更适合初学编程者. 那么,如何从零开始学习python呢? 可以分为这 ...
- python没基础可以学吗-终于认识没有基础怎么学python
在学习完Python的基础知识之后,有很多朋友为自己接下来要干什么感到迷茫.不知道应该通过什么样的项目来锻炼自己编程水平和思维能力.接下来我就给大家说几个适合Python的新手项目和练手项目,Pyth ...
最新文章
- go 基准测试 找不到函数_Go 中的内联优化 | Linux 中国
- vue 项目初始化时,npm run dev报错解决方法
- Spring事务传播特性实例解析
- 在html使用a标签 直接下载图片 不通过后台实现直接下载
- datatable.select()的一个问题
- 提搞网站访问速度可做哪些优化
- 人力资源社会保障部关于公布国家职业资格目录的通知
- Linux内核驱动调试,Linux内核设备驱动之内核的调试技术笔记整理
- 第一百七十四天 how can i 坚持
- liger UI tree DATA添加值
- numpy - np.append
- Oracle USE_LARGE_PAGES初始化参数
- Android友盟分享(微信简单集成)
- 计算机网络(第七版)思维导图
- 微软商店下载的软件怎么放到桌面?
- 无人机探测雷达软硬件解决方案
- 计算机硬盘从盘的设置,图文解说:电脑硬盘的主从盘设置方法_清风一笑
- 【系统化学习】CSDN算法技能树测评
- mysql 回归分析_统计科学之多元回归分析
- 我是不是该安静的走开
热门文章
- 计算机制作不同数据数据图表,数据图表与分析.doc
- Python爬虫获取京东大数据!其实爬虫真的很简单!
- VideoCodec 入门篇 - 00 (编解码简介)
- body与html 会有间隙,css – thead和tbody之间的间距
- 谷歌Cloud、Paly 中的XSS 漏洞可导致账户劫持
- Win10系统上搭建GIT本地服务器
- 【路径规划】基于蚁群算法的多配送中心车辆路径优化方法matlab代码
- C语言:记录在主线程中停止子线程
- python运行文件时说系统找不到指定文件-python找不到指定文件
- 北京市高等教育英语听力计算机考试,北京市2018年高考英语听力机考问答