Python学习打卡:day06

day6

笔记来源于:黑马程序员python教程,8天python从入门到精通,学python看这套就够了

目录

  • day6
    • 48、函数综合案例
    • 49、数据容器入门
    • 50、列表的定义语法
    • 51、列表的下标索引
      • 1、列表的下标(索引)
      • 2、列表的下标(索引)— 反向
      • 3、嵌套列表的下标(索引)
    • 52、列表的常用操作方法
      • 1、列表的查询功能
      • 2、列表的修改功能(方法)
        • 1、修改特定位置(索引)的元素值:
        • 2、插入元素
        • 3、追加元素
          • append
          • extend
        • 4、删除元素
          • del
          • pop
          • remove
          • clear
          • count
      • 3、列表的查询功能
      • 方法总览

48、函数综合案例

在这里插入图片描述
在这里插入图片描述

示例:

money = 5000000
name = input("请输入名称: ")def check_balance():print("--------查询余额--------")print(f"{name},你好,您的余额剩余: {money}元")def deposit(m_money):print("-------- 存款 --------")global moneymoney += m_moneyprint(f"{name},你好,您存款{m_money}元成功")print(f"{name},你好,您的余额剩余: {money}元")def withdraw(m_money):print("-------- 取款 --------")global moneymoney -= m_moneyprint(f"{name},你好,您取款{m_money}元成功")print(f"{name},你好,您的余额剩余: {money}元")while name == "zhoujielun":print("--------主 菜单--------")print("查询余额 【输入1】")print("存款    【输入2】")print("取款    【输入3】")print("退出    【输入4】")choice = int(input("请输入你的选择: "))num = 0if(choice == 1):check_balance()elif(choice == 2):num = int(input("请输入存款的金额:"))deposit(num)elif(choice == 3):num = int(input("请输入取款的金额:"))withdraw(num)elif(choice == 4):breakelse:print("输入错误,请重新输入!")continue

49、数据容器入门

学习数据容器,就是为了批量存储或批量使用多份数据

Python中的数据容器:一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素。

每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。

数据容器根据特点的不同,如:

  • 是否支持重复元素
  • 是否可以修改
  • 是否有序,等

分为5类,分别是:

列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)

50、列表的定义语法

基本语法格式:

在这里插入图片描述

列表内的每一个数据,称之为元素

  • 以 [] 作为标识
  • 列表内每一个元素之间用, 逗号隔开

示例:

"""
演示 数据容器之: list 列表
语法:[元素,元素,......]
"""# 定义一个列表 list
my_list = ["itheima", "itcast", "python"]
print(my_list)
print(type(my_list))my_list = ["itheima", 666, True]
print(my_list)
print(type(my_list))# 定义一个嵌套的列表
my_list = [[1, 2, 3], [4, 5, 6]]
print(my_list)
print(type(my_list))

tips:注列表可以一次存储多个数据,且可以为不同的数据类型,支持嵌套

51、列表的下标索引

1、列表的下标(索引)

在这里插入图片描述

如图,列表中的每一个元素,都有其位置下标索引,从前向后的方向,从 0 开始,依次递增,我们只需要按照下标索引,即可取得对应位置的元素。
在这里插入图片描述

2、列表的下标(索引)— 反向

也可以反向索引,也就是从后向前:从-1开始,依次递减(-1、-2、-3…)
在这里插入图片描述
如图,从后向前,下标索引为:-1、-2、-3,依次递减。

在这里插入图片描述

3、嵌套列表的下标(索引)

如果列表是嵌套的列表,同样支持下标索引:
在这里插入图片描述

如图,下标就有2个层级了。
在这里插入图片描述

示例:

# 通过下标索引取出对应位置的数据
my_list = ["Tom", "Lily", "Rose"]
# 列表[下标索引],从前向后从0开始,每次+1,从后向前从-1开始,每次-1
print(my_list[0])
print(my_list[1])
print(my_list[2])
# 错误示范:通过下标索引数据,一定不要超出范围
# print(my_list[3])# 通过下标索引取出数据(倒序输出)
print(my_list[-1])
print(my_list[-2])
print(my_list[-3])# 取出嵌套列表的元素
my_list = [[1, 2, 3], [4, 5, 6]]
print(my_list[1][1])

tips:要注意下标索引的取值范围,超出范围无法取出元素,并且会报错

52、列表的常用操作方法

1、列表的查询功能

查找某元素的下标:

功能:查找指定元素在列表的下标,如果找不到,报错ValueError

语法:列表.index(元素)

index就是列表对象(变量)内置的方法(函数)

mylist = ["itcast", "itheima", "python"]# 1.1 查找某元素在列表内的下标索引
index = mylist.index("itheima")
print(f"itheima 在列表中的下标索引值是:{index}")# # 1.2 如果被查找的元素不存在,会报错
# index = my_list.index("hello")
# print(f"hello 在列表中的下标索引值是:{index}")

2、列表的修改功能(方法)

1、修改特定位置(索引)的元素值:

语法:列表[下标] = 值

可以使用如上语法,直接对指定下标(正向、反向下标均可)的值进行:重新赋值(修改)

# 2. 修改特定位置(索引)的元素值
mylist[0] = "传智教育"
print(f"列表被修改元素之后,结果是:{mylist}")
2、插入元素

语法:列表.insert(下标, 元素),在指定的下标位置,插入指定的元素

# 3. 在指定下标位置插入新元素
mylist.insert(1, "best")
print(f"列表插入元素后,结果是:{mylist}")
3、追加元素
append

语法:列表.append(元素),将指定元素,追加到列表的尾部

# 4. 在列表尾部追加单个新元素
mylist.append("黑马程序员")
print(f"列表在追加了元素后,结果是:{mylist}")
extend

语法:列表.extend(其它数据容器),将其它数据容器的内容取出,依次追加到列表尾部

# 5. 在列表尾部追加 一批 新元素
mylist2 = [1, 2, 3]
mylist.extend(mylist2)
print(f"列表在追加了一个新的列表后,结果是:{mylist}")
4、删除元素
del

语法: del 列表[下标]

# 6. 删除指定下标索引的元素(2种方式)
mylist = ["itcast", "itheima", "python"]# 6.1 方式1:del 列表[下标]
del mylist[2]
print(f"列表删除元素后,结果是:{mylist}")
pop

语法:列表.pop(下标)

# 6.2 方式2:列表.pop(下标),可以得到被删除元素的值
mylist = ["itcast", "itheima", "python"]
element = mylist.pop(2)
print(f"通过pop方法取出元素后,列表内容:{mylist},取出的元素是:{element}")
remove

语法:删除某元素在列表中的第一个匹配项

# 7. 删除某元素在列表中的第一个匹配项
mylist = ["itcast", "itheima", "itcast", "itheima", "python"]
mylist.remove("itheima")
print(f"通过remove方法移除元素后,列表内容:{mylist}")
clear

清空列表内容,语法:列表.clear()

# 8. 清空列表
mylist.clear()
print(f"列表被清空了,结果是:{mylist}")
count

统计某元素在列表内的数量,语法:列表.count(元素)

# 9. 统计列表内某元素的数量
mylist = ["itcast", "itheima", "itcast", "itheima", "python"]
count = mylist.count("itheima")
print(f"列表中 itheima 的数量是: {count}")

3、列表的查询功能

统计列表内,有多少元素

语法:len(列表)

可以得到一个int数字,表示列表内的元素数量

# 10. 统计列表中全部的元素数量
mylist = ["itcast", "itheima", "itcast", "itheima", "python"]
count = len(mylist)
print(f"列表的元素数量总共有: {count} 个")

方法总览

编号使用方式作用
1列表.append(元素)向列表中追加一个元素
2列表.extend(容器)将数据容器的内容依次取出,追加到列表尾部
3列表.insert(下标, 元素)在指定下标处,插入指定的元素
4del 列表[下标]删除列表指定下标元素
5列表.pop(下标)删除列表指定下标元素
6列表.remove(元素)从前向后,删除此元素第一个匹配项
7列表.clear()清空列表
8列表.count(元素)统计此元素在列表中出现的次数
9列表.index(元素)查找指定元素在列表的下标,找不到报错ValueError
10len(列表)统计容器内有多少元素

示例:

"""
演示数据容器之:list列表的常用操作
"""
mylist = ["itcast", "itheima", "python"]# 1.1 查找某元素在列表内的下标索引
index = mylist.index("itheima")
print(f"itheima 在列表中的下标索引值是:{index}")# # 1.2 如果被查找的元素不存在,会报错
# index = my_list.index("hello")
# print(f"hello 在列表中的下标索引值是:{index}")# 2. 修改特定位置(索引)的元素值
mylist[0] = "传智教育"
print(f"列表被修改元素之后,结果是:{mylist}")# 3. 在指定下标位置插入新元素
mylist.insert(1, "best")
print(f"列表插入元素后,结果是:{mylist}")# 4. 在列表尾部追加单个新元素
mylist.append("黑马程序员")
print(f"列表在追加了元素后,结果是:{mylist}")# 5. 在列表尾部追加 一批 新元素
mylist2 = [1, 2, 3]
mylist.extend(mylist2)
print(f"列表在追加了一个新的列表后,结果是:{mylist}")# 6. 删除指定下标索引的元素(2种方式)
mylist = ["itcast", "itheima", "python"]# 6.1 方式1:del 列表[下标]
del mylist[2]
print(f"列表删除元素后,结果是:{mylist}")# 6.2 方式2:列表.pop(下标),可以得到被删除元素的值
mylist = ["itcast", "itheima", "python"]
element = mylist.pop(2)
print(f"通过pop方法取出元素后,列表内容:{mylist},取出的元素是:{element}")# 7. 删除某元素在列表中的第一个匹配项
mylist = ["itcast", "itheima", "itcast", "itheima", "python"]
mylist.remove("itheima")
print(f"通过remove方法移除元素后,列表内容:{mylist}")# 8. 清空列表
mylist.clear()
print(f"列表被清空了,结果是:{mylist}")# 9. 统计列表内某元素的数量
mylist = ["itcast", "itheima", "itcast", "itheima", "python"]
count = mylist.count("itheima")
print(f"列表中 itheima 的数量是: {count}")# 10. 统计列表中全部的元素数量
mylist = ["itcast", "itheima", "itcast", "itheima", "python"]
count = len(mylist)
print(f"列表的元素数量总共有: {count} 个")

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

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

相关文章

【python-AI篇】人工智能技能树思维导图

大致总结一下得出如下思维导图,如不完善日后迭代更新 1. python基础三方库 1.1 科学计算库 ---- numpy库 1.2 科学计算库 ---- Scipy库 1.3 数据分析处理库 ---- pandas库 1.4 可视化库 ---- matplotlib库 1.5 可视化库 ---- seaborn库 1.6 机器学习和数据挖掘库 …

Java—装饰器模式

介绍 装饰器模式 装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许你动态地将行为添加到现有的对象中,而无需修改其代码。装饰器模式提供了比继承更灵活的功能扩展方式。 主要角色 Component:定义一个对…

思科配置路由器,四台主机互相ping通

一、如图配置 PC4和PC5用来配置路由器,各ip、接口如图所示。 二、配置各主机ip、子网掩码SNM、默认网关DGW (一)、PC0 (二)、PC1 (三)、PC2 (四)、PC3 三、 配置路由器Router0 (期间报错是打错了字母) Router>en Router#configure terminal Enter configurat…

解读ROS功能包模块的步骤

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言解读ROS功能包模块的步骤前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 推荐开发经验及方法博客专栏: [https:/…

H5漂流瓶交友源码|社交漂流瓶H5源码 附安装教程

H5漂流瓶交友源码|社交漂流瓶H5源码 附安装教程 搭建教程 环境:Nginx 1.20.1-MySQL 5.6.50-PHP-7.3 上传源码至网站根目录,创建并导入数据库 数据库信息修改:/config/database.php 网站运行目录/public 配置文件加入(从24行…

Zookeeper高频面试题整理(入门到精通)

文章目录 1、什么是Zookeeper?2、ZooKeeper的基本数据结构是什么?3、Zookeeper的节点类型有哪些?4、Zookeeper的特点5、ZooKeeper如何保证数据一致性?6、什么是ZAB协议?7、Zookeeper的ACL机制是什么?8、Zoo…

MySQL性能分析

一、查看执行频率 sql执行频率,执行下述指令可以看到select,update,delete等操作的次数 show global status like Com_______; 具体我们在终端登录mysql看下,使用下述命令登录mysql,并输入命令 mysql -u 用户名 -p 上述查询,删…

设计模式-享元模式Flyweight(结构型)

享元模式(Flyweight) 享元模式是一种结构型模式,它主要用于减少创建对象的数量,减少内存占用。通过重用现有对象的方式,如果未找到匹配对象则新建对象。线程池、数据库连接池、常量池等池化的思想就是享元模式的一种应用。 图解 角色 享元工…

warning LNK4017: DESCRIPTION 语句不支持目标平台;已忽略

文章目录 warning LNK4017: DESCRIPTION 语句不支持目标平台;已忽略概述笔记备注END warning LNK4017: DESCRIPTION 语句不支持目标平台;已忽略 概述 基于ATL的COM DLL导出函数,无法用__declspec(dllexport)直接在函数上标记为导出函数。 只…

vue3医疗项目

配置src别名 打开viteconfig.js文件进行配置 import { defineConfig } from "vite"; import vue from "vitejs/plugin-vue"; // 引入node提供内置模块path:可以获取绝对路径 import path from "path";// https://vitejs.dev/config…

【C语言习题】30.使用指针打印数组内容

文章目录 作业标题作业内容2.解题思路3.具体代码 作业标题 使用指针打印数组内容 作业内容 写一个函数打印arr数组的内容,不使用数组下标,使用指针。 arr是一个整形一维数组。 2.解题思路 先定义一个数组,使用指针打印数组内容那就是说我们…

观察者模式-委托(大话设计模式)C/C++版本

观察者模式-委托 先看该常规的没有委托概念的代码&#xff0c;如下&#xff1a; 非委托 #include <iostream> #include <string> #include <list> using namespace std;class Subject; // 前向声明// 抽象观察者 class Observer { protected:string name;…

二手物品交易系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;商家管理&#xff0c;用户管理&#xff0c;商品管理&#xff0c;用户咨询管理 商家账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;商品管理&#xff0c;用…

荣耀笔记本IP地址查看方法详解:轻松掌握网络配置技巧

在数字化时代的浪潮中&#xff0c;笔记本电脑已经成为我们生活和工作中不可或缺的重要工具。对于荣耀笔记本用户而言&#xff0c;掌握基本的网络配置技巧显得尤为重要。其中&#xff0c;查看IP地址是连接网络、配置设备、排除故障等场景下的关键步骤。本文将详细介绍荣耀笔记本…

数据采集项目2-业务数据同步

全量同步 每天都将业务数据库中的全部数据同步一份到数据仓库 全量同步采用DataX datax datax使用 执行 python /opt/module/datax/bin/datax.py /opt/module/datax/job/job.json 更多job.json配置文件在&#xff1a; 生成的DataX配置文件 java -jar datax-config-genera…

数智教育创新如何向未来?腾讯云与你探索革新之路

引言 随着科技革命的快速发展&#xff0c;掀起教育领域的变革&#xff0c;新理念、新技术、新模式、新应用正不断涌现&#xff0c;正塑造着教育的未来形态。未来科技还将如何赋能教育创新&#xff1f; 5月31日&#xff0c;由腾讯云TVP 与西安电子科技大学联合举办的「数智教育的…

深入理解 Java 中的 synchronized 代码块

目录 前言 一、synchronized的工作原理 二、使用synchronized代码块的场景 三、编写synchronized代码块的最佳实践 四、何时使用 synchronized 代码块&#xff1f; 同步&#xff1a; 不同步&#xff1a; 五、Demo讲解 1.使用synchronized代码块减小锁的粒度&#xff0c…

51 USART数据收发

1.0 USART实现单个数据收发 串口启动之前需要对串口进行初始化&#xff0c;主要是设置产生波特率的定时器1&#xff0c;使用串口的工作方式还是中断的工作方式具体的配置步骤如下所示。 注&#xff1a; 1&#xff1a; 确定TMOD &#xff08;定时器模式寄存器&#xff09; 确…

2021年9月电子学会青少年软件编程 中小学生Python编程等级考试三级真题解析(判断题)

2021年9月Python编程等级考试三级真题解析 判断题&#xff08;共10题&#xff0c;每题2分&#xff0c;共20分&#xff09; 26、readline()执行结果为字符串&#xff0c;readlines()执行结果为列表 答案&#xff1a;对 考点分析&#xff1a;考查文件读操作&#xff0c;readli…

省去烦恼!轻松实现一台电脑登录多个微信号的秘诀揭秘!

你知道如何在同一台电脑上登录多个微信号&#xff0c;并实现聚合聊天吗&#xff1f; 今天&#xff0c;我将分享一个多微管理神器——个微管理系统&#xff0c;帮助你解决这一问题&#xff01; 1、多号同时登录&#xff0c;聚合聊天 无论你有多少个微信号&#xff0c;都可以一…