| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 7-4 删除列表中的重复值(高教社,《Python编程基础及应用》习题4-8) (5 分) -> 正文阅读 |
|
[Python知识库]7-4 删除列表中的重复值(高教社,《Python编程基础及应用》习题4-8) (5 分) |
题目的详细描述如下: 输入一个列表,删除其中的重复值,再输出。 要求假设列表中存在k个值为a的元素,删除前k-1个元素,保留最后一个。 不同元素在列表中的相对位置不应被改变。 输入格式:[元素1, 元素2, ... , 元素n] 输出格式:[元素1,元素2, ... , 元素k] 输入样例:
输出样例:
提示:将形如"[1,3,5]"的字符串转换成列表可以使用eval()函数。 注意,输出格式应与输出样例一致,涉及空格,逗号等。 请接着往下看:你的程序真的对了吗?多数读者的解题思路是制造一个v列表的复制品以避免在遍历v的同时删除v中的元素。该解决方案可以通过本题设置的全部测试。但这并不意味着该解决方案是“完全正确”的。请尝试下述输入:
产生这种意外结果的原因是:在Python里1和True是相等的! 0和False也是相等的! 在使用列表的count()函数,index()函数,remove()函数时,1和True, 0和False被不加区分地对待。 下述代码的执行结果证实了这一点:
其执行结果为:
这个问题的根本原因在于bool数据类型在Python3中被定义为int类的子类。 一个基本思路是:虽然1和True的值相等,但是数据类型不同,可以用type()函数来区别。这里给出一个可行的办法。代码如下:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 2:52:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |