文章目录
- 以练促学
- 练习 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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。