基于 Python 3 语法的 PyCharm 练习示例,涵盖列表操作、类型判断及数据清洗等核心知识点

requirements.txt

复制代码
	本练习仅使用Python标准库,无需额外第三方依赖
	如需在PyCharm中配置环境,确保解释器为Python 3.6+

代码实现功能与特点说明:

复制代码
	1.‌ 类型安全判断‌:使用 isinstance() 函数准确区分数字(支持 int 和 float)和字符串,避免类型错误。
	2.‌ 列表推导式应用‌:高效地过滤列表元素,代码简洁且符合 Pythonic 风格。
	3. 集合去重与排序‌:利用集合 {} 特性自动去除重复字符串,并结合 sorted() 函数的 key 参数实现自定义排序(按字符串长度)。
	4.‌ 模块化设计‌:将核心逻辑封装在函数中,便于在 PyCharm 中进行单元测试或复用。
	5.‌ 入口保护‌:使用 if __name__ == "__main__": 确保脚本作为主程序运行时才执行测试代码,符合规范。

练习代码:data_processing.py

python 复制代码
	def process_mixed_data(mixed_list):
    """
    处理包含数字和字符串的混合列表:
    1. 提取数字并升序排序
    2. 提取字符串去重后按长度升序排序
    """
    # 提取数字元素并排序
    numbers = sorted([x for x in mixed_list if isinstance(x, (int, float))])
    
    # 提取字符串元素,去重(使用集合),并按长度排序
    # 注意:集合是无序的,sorted会返回一个新的列表
    unique_strings = sorted({x for x in mixed_list if isinstance(x, str)}, key=len)
    
    return numbers, unique_strings

if __name__ == "__main__":
    # 测试数据
    sample_data = [3, "apple", 1.5, "banana", 2, "apple", "cherry", 10, "kiwi"]
    
    print("原始数据:", sample_data)
    
    nums, strs = process_mixed_data(sample_data)
    
    print("排序后的数字:", nums)
    print("去重并按长度排序的字符串:", strs)
相关推荐
AxureMost28 分钟前
Dopamine 3.0.10 音乐播放器
windows
MayZork29 分钟前
Windows 与 Linux 下 vcpkg 的安装部署指南
linux·运维·windows
————A43 分钟前
Agent 接收用户上传文件
人工智能·笔记·python·状态模式
可乐鸡翅yeah_1 小时前
hls.js 内存泄漏实战排查,直播 M3U8 长时间播放异常定位方案
开发语言·javascript·python·django·ecmascript·m3u8·m3u8在线
可乐鸡翅yeah_1 小时前
第三方接口对接 M3U8 流媒体排坑实战,解决外部服务商流兼容难题
前端·javascript·python·django·html·m3u8·m3u8在线
金融小师妹1 小时前
多因子智能推演:黄金震荡回升,杰克逊霍尔“沃什首秀”政策如何重塑金价路径的AI预测框架
大数据·人工智能·python·线性回归
阿童木写作1 小时前
跨马翻译:AI批量图片翻译与视频字幕翻译工具推荐
人工智能·python·音视频
阿kun要赚马内1 小时前
MCP(Model Context Protocol,模型上下文协议)
人工智能·python
Source.Liu1 小时前
【Dioxus】Windows 环境下 Rust + Dioxus 安装配置笔记
windows·rust·dioxus