Python入门学习篇(五)——列表字典

1 列表

1.1 定义

①有序可重复的元素集合
②可以存放不同类型的数据
③个人理解:类似于java中的数组

1.2 相关方法

1.2.1 获取列表长度

a 语法
len(列表名)
b 示例代码
list2 = [1, 2, "hello", 4]
print(len(list2))
c 运行结果

在这里插入图片描述

1.2.2 获取列表值

a 语法
列表名[下标]
# 下标默认从0开始,若列表中嵌套了列表那么就为: 列名表[列表位置][值的位置]
# 如: lst3 = [100, 3.14, True, "湖南人", [1, 2, 3, 4]] 想要取出数字3,那么就为 lst3[4][2]
b 示例代码
list2 = [1, 2, "hello", 4]
print(f"list2列表的第三个位置为: {list2[2]}")
c 运行结果

在这里插入图片描述

1.2.3 值的倒序

a 语法
列表名.reverse()
b 示例代码
list2 = [1, 2, "hello", 4,'world']
list2.reverse()
print(list2)
c 运行结果

在这里插入图片描述

1.2.4 新增值-加在末尾

a 语法
列表名.append()
b 示例代码
list2 = [1, 2, "hello", 4,'world']
list2.append("666")
print(list2)
c 运行结果

在这里插入图片描述

1.2.5 新增值-插入任意位置

a 语法
列表名.insert(插入下标,插入值)
# 插入下标默认从0开始算 若为1,则会把值插入到列表的第二个位置,原先第二个位置以及第二个位置之后的值都会往后移
b 示例代码
list2 = [1, 2, "hello", 4, 'world']
list2.insert(1, "666")
print(list2)
c 运行结果

在这里插入图片描述

1.2.6 合并列表

a 语法
列表名1.extend(列表名2)
# 会在列表1最后一个元素的后面拼上列表2的所有元素 即 新的列表1=列表1+列表2
b 示例代码
list1 = [1024, 9, "TTG"]
list2 = [1, 2, "hello", 4, 'world']
list1.extend(list2)
print(list1)
c 运行结果

在这里插入图片描述

1.2.7 删除元素-从左往右检索,找到即删,只删一个

a 语法
列表名.remove()
b 示例代码
list2 = [1, 2, "hello", 1, 'world']
list2.remove(1)
print(list2)
c 运行结果

在这里插入图片描述

1.2.8 删除元素-删除列表的最后一个元素

a 语法
pop()
# pop()的返回值是删除的元素
b 示例代码
list2 = [1, 2, "hello", 1, 'world']
list2.pop()
print(list2)
c 运行结果

在这里插入图片描述

1.2.9 删除元素-删除指定位置的元素

a 语法
pop(删除元素下标)
b 示例代码
list2 = [1, 2, "hello", 1, 'world']
list2.pop(1)
print(list2)
c 运行结果

在这里插入图片描述

1.2.10 修改元素

a 语法
列表名[修改元素所在下标]=修改值
b 示例代码
list2 = [1, 2, 5, 3, [1,6,True,3.11]]
print(f"修改前: {list2}")
list2[4][2]="hello world"
print(f"修改后: {list2}")
c 运行结果

在这里插入图片描述

1.3 实战练习

1.3.1 题目要求

希望做一个商品信息录入系统,有以下几大要求
① 初始的界面如下所示:
-------欢迎使用当前系统--------
1.录入商品
2.查询商品
3.退出系统
② 录入商品的界面如下所示:
请输入商品的名称: xxx
请输入商品的成本价:xxx
请输入商品的产地:xxx
请输入商品的生产日期:xxx
③可以循环录入商品
④当多次录入商品后,查询商品界面显示所有录入的商品信息(以列表的形式)

1.3.2 示例代码

print("-------欢迎使用当前系统--------")
projects=[] # 定义一个最外层的列表,用来保存多条商品数据。为了解决新复制一个列表就把其覆盖掉的问题while True:option = input("1.录入商品\n2.查询商品\n3.退出系统\n请输入您的选择:")if option == "1":# 1.录入商品print("--->准备开始录入商品<---")pro_list = []  # 定义一个空列表,用来存储单条数据load_name=input("请输入商品的名称:")pro_list.append(load_name)price=input("请输入商品的成本价:")pro_list.append(price)s_value=input("请输入商品的产地: ")pro_list.append(s_value)data_time=input("请输入商品的生产日期:")pro_list.append(data_time)projects.append(pro_list)# print(pro_list)elif option == "2":# "2.查询商品"print(projects)elif option == "3":print("3.退出系统")else:print("输入有误!!!")

1.3.3 运行截图

在这里插入图片描述

2 字典

2.1 定义

①具有键值对映射关系的一组无序(没有下标)的数据集合
②通过key找对应的value
③标识符:{}  #里面写的都是json数据格式,key一般都是str类型
④关键字: dict
⑤字典定义语法如下
字典名={key1:value1,key2:value2
}

2.2 相关方法

2.2.1 统计字典中key的个数

a 语法
len(字典名)
b 示例代码
dict1 = {"book_name": "平凡的世界","book_author": "路遥","book_role": ["孙少安", "孙少平", "田晓霞", "田润叶", "孙玉厚", "田福堂"]
}
print(len(dict1))
c 运行截图

在这里插入图片描述

2.2.2 新增字典值

a 语法
字典的变量名["字典中不存在的key"]=新增值
#加在最后面
b 示例代码
dict1 = {"book_name": "平凡的世界","book_author": "路遥","book_role": ["孙少安", "孙少平", "田晓霞", "田润叶", "孙玉厚", "田福堂"]
}
print(f"新增前:{dict1}")
dict1["book_honor"]="第三届茅盾文学奖"
print(f"新增后:{dict1}")
c 运行截图

在这里插入图片描述

2.2.3 修改字典值

a 语法
字典的变量名["字典中存在的key"]=修改值
b 示例代码
dict1 = {"book_name": "平凡的世界","book_author": "路遥","book_role": ["孙少安", "孙少平", "田晓霞", "田润叶", "孙玉厚", "田福堂"]
}
print(f"修改前:{dict1}")
dict1["book_role"][1]="金波"
print(f"修改后:{dict1}")
c 运行截图

在这里插入图片描述

2.2.4 删除指定字典值

a 语法
字典名.pop(key)
b 示例代码
dict1 = {"book_name": "平凡的世界","book_author": "路遥","book_role": ["孙少安", "孙少平", "田晓霞", "田润叶", "孙玉厚", "田福堂"]
}
print(f"删除前:{dict1}")
dict1.pop("book_role")
print(f"删除后:{dict1}")
c 运行截图

在这里插入图片描述

2.2.5 清空字典所有值

a 语法
字典名.clear()
b 示例代码
dict1 = {"book_name": "平凡的世界","book_author": "路遥","book_role": ["孙少安", "孙少平", "田晓霞", "田润叶", "孙玉厚", "田福堂"]
}
print(f"清空前:{dict1}")
dict1.clear()
print(f"清空后:{dict1}")
c 运行截图

在这里插入图片描述

2.3 实战练习

2.3.1 题目要求

希望做一个商品信息录入系统,有以下几大要求
① 初始的界面如下所示:
-------欢迎使用当前系统--------
1.录入商品
2.查询商品
3.退出系统
② 录入商品的界面如下所示:
请输入商品的名称: xxx
请输入商品的成本价:xxx
请输入商品的产地:xxx
请输入商品的生产日期:xxx
③可以循环录入商品
④当多次录入商品后,查询商品界面显示需要查询的商品信息(录入的单条商品信息用列表存储,所有信息用字典存储)

2.3.2 示例代码

print("-------欢迎使用当前系统--------")
products = {}
while True:print("1.录入商品\n2.查询指定商品\n3.退出系统")choice = input("请输入您的选择:")if choice == "1":# 录入商品逻辑product = []  # 每次重新输入时需要清空该列表product.append(input("请输入商品的名称: "))product.append(input("请输入商品的成本价: "))product.append(input("请输入商品的产地: "))product.append(input("请输入商品的生产日期: "))products[product[0]] = productelif choice == "2":# 查询指定商品逻辑product_name = input("请输入您要查询的商品名称: ")print(f"需要查询的商品信息为: {products[product_name]}")elif choice == "3":print("系统已关机,欢迎您下此使用")break

2.3.3 运行截图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/240988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

001 图书增删改查 SSM MySQL

技术框架&#xff1a;Spring SpringMVC Mybatis JSP MySQL 001 图书增删改查 SSM MySQL package com.demo.controller;import com.demo.pojo.Book; import com.demo.service.BookService; import org.springframework.beans.factory.annotation.Autowired; import org.spri…

Log4net 教程

一、Log4net 教程 在CodeProject上找到一篇关于Log4net的教程&#xff1a;log4net Tutorial&#xff0c;这篇博客的作者是&#xff1a;Tim Corey &#xff0c;对应源代码地址为&#xff1a; https://github.com/TimCorey/Log4netTutorial&#xff0c;视频地址为&#xff1a;Ap…

C#上位机与欧姆龙PLC的通信04---- 欧姆龙plc的存储区

1、存储区概念 欧姆龙PLC将整个数据存储器分为10个区&#xff1a;输入继电器区、输出继电器区、内部辅助继电器区、特殊继电器区、保持继电器区、暂存继电器区、定时/计数器区、数据存储区、辅助存储继电器区、链接继电器区。 输入输出继电器区 CP1E系列PLC输入继电器区有16…

acwing linux 第七讲 环境变量、管道、常用命令、附录

文章目录 管道 概念 要点 举例 环境变量 查看 修改 常用环境变量 常用命令 系统状况 文件权限 文件检索 查看文件内容 用户相关 其他工具 安装软件 附录 Linux权限 本节课讲解的是管道&#xff0c;环境变量&#xff0c;以及常用命令 管道 概念 管道类似文…

Qt/C++视频监控Onvif工具/组播搜索/显示监控画面/图片参数调节/OSD管理/祖传原创

一、前言 能够写出简单易用而又不失功能强大的组件&#xff0c;一直是我的追求&#xff0c;简单主要体现在易用性&#xff0c;不能搞一些繁琐的流程和一些极难使用的API接口&#xff0c;或者一些看不懂的很难以理解的函数名称&#xff0c;一定是要越简单越好。功能强大主要体现…

即将来临的2024年,汽车战场再起波澜?

我们来简要概况一下11月主流车企的销量表现&#xff1a; 根据数据显示&#xff0c;11月吉利集团总销量29.32万辆&#xff0c;同比增长28%。这在当月国内主流车企中综合实力凌厉&#xff0c;可谓表现得体。而与吉利直接竞争的比亚迪&#xff0c;尽管数据未公布&#xff0c;但我们…

【Linux/gcc】C/C++——编译过程

前提&#xff1a;WSL2&#xff08;Ubuntu&#xff09;、gcc编译器。gcc安装命令&#xff1a; sudo apt-get install gcc 查看gcc版本&#xff1a; 目录 1、编译过程 1.1、预处理 1.2、编译与汇编 1.3、链接 2、gcc实验 2.1、预处理 2.2、编译 2.3、汇编 2.4、链接 1、…

XSKY星辰天合星海架构荣获 IT168 “2023 年度技术卓越奖”

近日&#xff0c;"2023 年度技术卓越奖"获奖名单公布&#xff0c;XSKY 星辰天合的星海架构&#xff08;XSEA&#xff0c;极速全共享架构&#xff09;获得行业 CIO/CTO 大咖、技术专家及 IT 媒体三方认可&#xff0c;成功入选&#xff01; “技术卓越奖”评选由国内著…

2. 结构型模式 - 桥接模式

亦称&#xff1a; Bridge 意图 桥接模式是一种结构型设计模式&#xff0c; 可将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构&#xff0c; 从而能在开发时分别使用 问题 抽象&#xff1f; 实现&#xff1f; 听上去挺吓人&#xff1f; 让我们慢慢来&#x…

uniapp怎么动态渲染导航栏的title?

直接在接口请求里面写入以下&#xff1a; 自己要什么参数就写什么参数 本人仅供参考&#xff1a; this.name res.data.data[i].name; console.log(名字, res.data.data[i].name); uni.setNavigationBarTitle({title: this.name}) 效果&#xff1a;

【Proteus仿真】【Arduino单片机】智能垃圾桶设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用报警模块、LCD1602液晶模块、按键模块、人体红外传感器、HCSR04超声波、有害气体传感器、SG90舵机等。 主要功能&#xff1a; 系统运行后&am…

14、Qt使用Eigen3

一、下载Eigen Eigen 二、创建项目 创建一个"Qt Widget Application"项目&#xff0c;基类选择“QMainWindow“&#xff0c;把Eigen拷贝到项目中 三、更改代码 在.pro中添加 INCLUDEPATH $$PWD\Eigen 在界面上添加一个pushButton&#xff0c;并转到槽&#xff0…

111基于matlab的粒子滤波进行锂离子电池的循环寿命预测

基于matlab的粒子滤波进行锂离子电池的循环寿命预测&#xff0c;输出实验、粒子滤波及自然预测数据结果。程序已调通&#xff0c;可直接运行。 111matlab锂离子电池寿命预测 (xiaohongshu.com)

JavaEE:CAS详解

一.什么是CAS CAS: 全称 Compare and swap &#xff0c;字面意思 :” 比较并交换 “ &#xff0c;一个 CAS 涉及到以下操作&#xff1a; 我们假设内存中的原数据V&#xff0c;旧的预期值A&#xff0c;需要修改的新值B。 我们来进行操作&#xff1a; 1. 比较 V 和 A 是否相等。…

蓝桥杯第二场小白入门赛(1~5)(对不起,我线段树太菜了)

1.模拟 2.贪心 3.二分 4.数论 5.数论 6.线段树&#xff08;线段树还是练少了...&#xff09; 1. 蓝桥小课堂-平方和 直接模拟&#xff0c;注意数据范围 #include <bits/stdc.h> using namespace std; #define LL long long #define pb push_back #define x first …

低代码开发:数字化转型的引擎

引言 在当今数字化时代&#xff0c;组织面临着不断变化的市场需求和技术挑战。数字化转型已成为维持竞争力的关键&#xff0c;而低代码开发正在崭露头角&#xff0c;成为加速创新和数字化转型的有力工具。本文将深入探讨低代码开发的核心概念、优势和应用&#xff0c;以揭示它…

亚马逊圣诞关键词怎么选?亚马逊圣诞节促销活动有哪些?——站斧浏览器

亚马逊圣诞关键词怎么选&#xff1f; 以下是在亚马逊圣诞期间利用长尾关键词的一些建议&#xff1a; 圣诞主题关键词&#xff1a;随着节日的临近&#xff0c;与圣诞相关的关键词搜索热度将急剧上升。在产品标题、描述、关键词等位置使用与圣诞节相关的关键词&#xff0c;比如…

【数据结构一】初始Java集合框架(前置知识)

Java中的数据结构 Java语言在设计之初有一个非常重要的理念便是&#xff1a;write once&#xff0c;run anywhere&#xff01;所以Java中的数据结构是已经被设计者封装好的了&#xff0c;我们只需要实例化出想使用的对象&#xff0c;便可以操作相应的数据结构了&#xff0c;本篇…

【CentOS 7.9 分区】挂载硬盘为LVM操作实例

LVM与标准分区有何区别&#xff0c;如何选择 目录 1 小系统使用LVM的益处&#xff1a;2 大系统使用LVM的益处&#xff1a;3 优点&#xff1a;CentOS 7.9 挂载硬盘为LVM操作实例查看硬盘情况格式化硬盘创建PV创建VG创建LV创建文件系统并挂载自动挂载添加&#xff1a;注意用空格间…

pip 常用指令 pip list 命令用法介绍

&#x1f4d1;pip 常用命令归类整理 pip list 是一个用于列出已安装的 Python 包的命令。这个命令会显示出所有已安装的包&#xff0c;以及它们的版本号。 pip list 命令有以下参数 -o, --outdated&#xff1a;列出所有过时的包&#xff0c;即有新版本可用的包。-u, --uptod…