python列表、字典、循环、判断举例分析
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容主要讲解"python列表、字典、循环、判断举例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"python列表、字典、循环、判断举例分析"吧!
千家信息网最后更新 2025年12月02日python列表、字典、循环、判断举例分析
本篇内容主要讲解"python列表、字典、循环、判断举例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"python列表、字典、循环、判断举例分析"吧!
练习案例
下面通过一个简化的虚拟案例做一次深入学习python小练习,有某果园销售数据如下:
sell_list = [ {'客户': '张三', '种类': '苹果','数量':100}, {'客户': '李四', '种类': '苹果','数量':200}, {'客户': '李四', '种类': '香梨','数量':200}, {'客户': '李四', '种类': '香梨','数量':300}, {'客户': '张三', '种类': '苹果','数量':100}, {'客户': '王五', '种类': '香蕉','数量':500}, {'客户': '王五', '种类': '香蕉','数量':150}, {'客户': '王五', '种类': '香蕉','数量':150}, {'客户': '王五', '种类': '苹果','数量':500}, {'客户': '赵六', '种类': '葡萄','数量':300}, {'客户': '李四', '种类': '葡萄','数量':300}, {'客户': '赵六', '种类': '苹果','数量':300},]客户希望对数据进行整理,期待得到的数据集格式类似如下这样:
result_list = [ ['张三', {'苹果': 300, '香蕉': 200, }], ['李四', {'苹果': 100, '香蕉': 200, }], ['王五', {'苹果': 100, '香蕉': 200, }],]需求分析
客户原始数据池是列表,列表元素是客户、果名、数量。现在的需求是对列表元素进行汇总,得出客户、果名、数量的汇总表。
首先遍历原始数据池,判断客户名:
若在数据集中客户名不存在,则数据集中添加客户名,同时将果名和数量以字典格式加入数据集。
若在数据集中客户名存在,则判断果名:
若在数据集中果名存在,则将数量累加。
若在数据集中果名不存在,则添加果名和数量。
通过以上分析有个大致的框架,通过2层嵌套循环加判断来编写代码。
具体代码
我设想的代码有2种方案:
二层循环嵌套if的列表实现方式,优点是较省内存,缺点是速度略慢:
result_list = []for i in sell_list: for j in result_list: if j[0] == i['客户']: if i['种类'] not in j[1]: j[1][i['种类']] = i['数量'] else: j[1][i['种类']] = j[1][i['种类']] + i['数量'] break else: result_list.append([i['客户'], {i['种类']: i['数量'], }])for i in result_list: print(i)out:['张三', {'苹果': 200}]['李四', {'苹果': 200, '香梨': 500, '葡萄': 300}]['王五', {'香蕉': 800, '苹果': 500}]['赵六', {'葡萄': 300, '苹果': 300}]上述代码有一个需要特别注意的地方,循环体内break会跳过整个循环体(含循环体的else部分)。这一点很多教材都没有讲得很透彻。
单层循环嵌套if的字段实现方式,优点是速度较快,缺点是较费内存:
result_dict = {}for i in sell_list: if i['客户'] in result_dict: if i['种类'] not in result_dict[i['客户']]: result_dict[i['客户']][i['种类']] = i['数量'] else: result_dict[i['客户']][i['种类']] += i['数量'] else: result_dict[i['客户']] = {i['种类']: i['数量']}for i, j in result_dict.items(): print(i, j)out:张三 {'苹果': 200}李四 {'苹果': 200, '香梨': 500, '葡萄': 300}王五 {'香蕉': 800, '苹果': 500}赵六 {'葡萄': 300, '苹果': 300}在字典实现方式中看起来是比列表实现方式少了一层循环,实质上这个循环的目的在"if i['种类'] not in result_dict[i['客户']]:"这个部分已经实现了,在容器中找成员,字典是速度最快同时也是最费内存的方式。
到此,相信大家对"python列表、字典、循环、判断举例分析"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
客户
数量
种类
苹果
循环
数据
香蕉
李四
王五
字典
葡萄
分析
方式
张三
代码
香梨
内存
循环体
速度
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
阿里云mqtt服务器最低多少钱
用手机管理小米云服务器
小学网络安全教育讲稿
数据库为什么有性能
excel 数据库查找
云信软件开发公司河北
服务器怎么发送网页
数据库 范围查询
游戏服务器新手
家用服务器不断电
青岛信网互联网科技有限公司
村委会建立人才数据库
数据库返回所有行是什么意思
网络安全法第12
软件开发属于什么项目类别
计算机三级网络技术讨论群
软件开发工程师干什么
英国关于网络安全的法律法规
债易收互联网科技有限公司
网站服务器管理分哪几个部分
网络技术前提
临沂市方位网络技术有限公司
通州区管理网络技术服务平台
数据库中金钱类型是什么
科技互联网有些什么上市公司
计算机网络技术的含义是什么
江苏web前端软件开发靠谱吗
数据库缓冲池
图片服务器一般用什么
哈尔滨ipfs服务器配置