2024速通python之python进阶

文章目录

  • 一、数据容器
    • 1.list列表
      • (1)定义
      • (2)常用方法
    • 2.元组
      • (1)定义
    • 3.字符串常用操作汇总
      • (1)根据下标索引取出特定位置字符
      • (2)查找给定字符的第一个匹配项的下标
      • (3)将字符串内的全部字符串1,替换为字符串2
      • (4)按照给定字符串,对字符串进行分隔
      • (5)移除首尾的空格和换行符或指定字符串
      • (6)统计字符串内某字符串的出现次数
    • 4.序列
    • 5.集合
      • (1)定义
      • (2)常用方法
    • 6.字典
      • (1)定义
      • (2)常用方法
  • 二、函数
    • 1.函数多返回值
    • 2.函数多种传参方式
      • (1)位置参数
      • (2)关键字参数
      • (3)缺省参数
      • (4)不定长参数
    • 3.lambda匿名函数

「章节总览」
 
      【2024速通python之python基础 https://blog.csdn.net/weixin_45404884/article/details/138578955】
      【2024速通python之python进阶 https://blog.csdn.net/weixin_45404884/article/details/138663338】
      【2024速通python之python高阶 https://blog.csdn.net/weixin_45404884/article/details/138810133】

一、数据容器

1.list列表

(1)定义

name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
print(name_list)

# 将列表遍历输出
for name in name_list:
    print(name)

# 输出name_list类型
print(type(name_list))

(2)常用方法

  • 按下标索引
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
print(name_list[0])
  • 反向索引
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
print(name_list[-4])
  • 查找某元素下标
print(name_list.index('wangwu'))
  • 指定位置插入元素
    列表.insert(下标, 元素),在指定的下标位置,插入指定的元素
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
name_list.insert(1, 'sss')
print(name_list)
  • 追加元素
    列表.append(元素),将指定元素,追加到列表的尾部
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
name_list.append('sss')
print(name_list)

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

name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
other_list = ['sss', 'ddd']
name_list.extend(other_list)
print(name_list)
  • 删除元素
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
# 方式一
del name_list[0]
# 方式二
name_list.pop(0)
print(name_list)
  • 删除某元素在列表中的第一个匹配项
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
name_list.remove('lisi')
print(name_list)

  • 清空列表
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
name_list.clear()
print(name_list)
  • 统计某元素在列表内的数量
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
print(name_list.count('lisi'))
  • 列表长度
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
print(len(name_list))

2.元组

元组一旦定义完成,就不可修改

(1)定义

name_list = ('zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi')
print(name_list)

3.字符串常用操作汇总

(1)根据下标索引取出特定位置字符

name = 'hello world'
print(name[0])

(2)查找给定字符的第一个匹配项的下标

name = 'hello world'
print(name.index('h'))

(3)将字符串内的全部字符串1,替换为字符串2

name = 'hello world'
newName = name.replace('world', 'city')
print(newName)

(4)按照给定字符串,对字符串进行分隔

name = 'hello world'
newName = name.split(' ')
print(newName)

(5)移除首尾的空格和换行符或指定字符串

name1 = ' hello world '
name2 = '12hello world21'
newName1 = name1.strip(' ')
newName2 = name2.strip('12')
print(newName1)
print(newName2)

(6)统计字符串内某字符串的出现次数

name1 = 'hello world'
print(name1.count('o'))

4.序列

序列是指:内容连续、有序,可使用下标索引的一类数据容器。
列表、元组、字符串,均可以可以视为序列。
序列支持切片,即:列表、元组、字符串,均支持进行切片操作。
切片:从一个序列中,取出一个子序列。
语法:序列[起始下标:结束下标:步长]
表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列。

  • 起始下标表示从何处开始,可以留空,留空视作从头开始
  • 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾
  • 步长表示,依次取元素的间隔
  • 步长1表示,一个个取元素
  • 步长2表示,每次跳过1个元素取
  • 步长N表示,每次跳过N-1个元素取
  • 步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)
my_list = [1, 2, 3, 4, 5]
new_list = my_list[1:4]	# 下标1开始,下标4(不含)结束,步长1
print(new_list)		# 结果:[2, 3, 4]

my_list = [1, 2, 3, 4, 5]
new_list = my_list[::2]		# 从头开始,到最后结束,步长2
print(new_list)		# 结果:[1, 3, 5]

5.集合

去重且无序

(1)定义

my_list = {1, 2, 3, 4, 5}
print(my_list)

(2)常用方法

  • 集合内添加一个元素
my_list = {'1', '2', '3', '4', '5'}
my_list.add('111')
print(my_list)
  • 移除集合内指定的元素
my_list = {'1', '2', '3', '4', '5'}
my_list.remove('3')
print(my_list)

  • 随机取出一个元素
my_list = {'1', '2', '3', '4', '5'}
print(my_list.pop())
  • 清空
my_list = {'1', '2', '3', '4', '5'}
my_list.clear()
print(my_list)
  • 2个集合的差集
my_list1 = {'1', '2', '3', '4'}
my_list2 = {'2', '3', '4', '5'}
my_list3 = my_list1.difference(my_list2)
print(my_list3)
  • 2个集合的并集
my_list1 = {'1', '2', '3', '4'}
my_list2 = {'2', '3', '4', '5'}
my_list3 = my_list1.union(my_list2)

print(my_list3)

6.字典

(1)定义

字典的定义,同样使用{},不过存储的元素是一个个的:键值对,如下语法:
{key:value}
字典内Key不允许重复,重复添加等同于覆盖原有数据

my_dict = {1: 'one', 2: 'two', 3: 'three'}
print(my_dict)

(2)常用方法

  • 获取字典的全部Key,可用于for循环遍历字典
my_dict = {1: 'one', 2: 'two', 3: 'three'}
print(my_dict.keys())
  • 取出Key对应的Value并在字典内删除此Key的键值对
my_dict = {1: 'one', 2: 'two', 3: 'three'}
my_dict.pop(1)
print(my_dict)

二、函数

1.函数多返回值

  • 按照返回值的顺序,写对应顺序的多个变量接收即可
  • 变量之间用逗号隔开
def test():
    return "a", 1


x, y = test()
print(x)
print(y)

2.函数多种传参方式

(1)位置参数

调用函数时根据函数定义的参数位置来传递参数

def test(x, y):
    print('x====', x)
    print('y====', y)


test(1, 2)

(2)关键字参数

函数调用时通过“键=值”形式传递参数
** kwargs 表示关键字参数, 它本质上是一个 dict

def test(**kwargs):
    print(kwargs)


test(x=1, y=2, z=3, a=4)

(3)缺省参数

不传值,默认z赋值为1

def test(x, y, z=1):
    print(x)
    print(y)
    print(z)


test(1, 2)
test(1, 2, 3)

(4)不定长参数

*args 表示任何多个无名参数, 他本质上是一个 tuple

def test(*args):
    print('x====', args)


test(1, 2)

3.lambda匿名函数

  • lambda 传入函数 :函数体(一行代码)

  • 匿名函数用于临时构建一个函数,只用一次的场景

  • 匿名函数的定义中,函数体只能写一行代码,如果函数体要写多行代码,不可用lambda 匿名函数,应使用def定义带名函数

def test(compute):
    result = compute(1, 2)
    print(result)


test(lambda x, y: x + y)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解密跨境电商ERP开发的5大常见问题及解决方案

跨境电商平台开发是一个充满挑战的领域,企业在此过程中常常面临着各种技术、管理和资源等方面的问题。下面是解析这些问题并提供解决方案的五大主要问题: 1. 集成难题: 在跨境电商平台开发中,一个最为常见的问题是集成不同系统和…

中国高分辨率国家土壤信息网格基本属性数据集(2010-2018)

中国高分辨率国家土壤信息网格基本属性数据集(2010-2018) 数据介绍 土壤是人类生存和发展的基础,多个联合国可持续发展目标(SDGs)与土壤资源利用和管理直接相关。然而,全球和我国现有土壤信息大多源于历史土…

酒厂做配送分销小程序商城的作用是什么

线上优势明显,酒厂零售批发需要多渠道进行,品牌宣传、酒水经营分销配送、会员管理以及拓展更多营收可能等,商家与客户都需要完善的体系触达对方。 运用【雨科】平台搭建酒厂商城,电脑手机网页端和微信小程序端,多渠道…

可重构柔性装配系统,为制造业的未来描绘出一幅崭新的蓝图

随着科技的飞速发展,传统的产线设计模式正面临着前所未有的挑战。在这个变革的时代,可重构柔性装配系统凭借其独特的优势,正引领着智能化生产的新浪潮,为制造业的未来描绘出一幅崭新的蓝图。 传统的产线设计往往固定且僵化&#x…

精品录播|电磁场数值仿真技术及天线设计与应用

电磁场数值仿真技术及天线设计与应用

失业,登上了网络悲惨排行榜热传?

几年前,有关“失业”这个话题早就频繁地出现在国内各大社交网站,原以为早已淡化了,殊不知今天浏览国内各大社交网站,惊讶地发现它竟然登上了“悲惨排行榜”并被热传,便认为对此话题有闲聊一会儿的必要。 截图&#xff…

2024年泰迪智能科技专业共建合作方案

泰迪智能科技打造基于产教融合就业育人综合服务平台,深化产教融合,持续完善三位一体的数据智能生态体系,促进教育链、人才链与产业链、创新链的有机衔接,为培养高素质创新人才及企业数据智能应用落地略尽绵薄之力。 2024年泰迪智…

ios与android上音频格式的推荐

首先贴一张官方对于ios与android上音频格式的推荐: 这里只给出了推荐格式,一般我们在实际运用中会使用如下方式: 一、IOS与安卓各一套:音乐:都使用MP3 音效:ios用caf Android用ogg 二、使用通用的MP3格式…

黑马新出的SpringBoot3项目后端总结

基础篇-00_SpringBoot3_Vue3导学课程_哔哩哔哩_bilibili 这个是视频链接 这个新课程里面用了一些企业里会用的注解例如Validated这种,业务流程清晰明了简单上手,算是可以了解最基本的Springboot开发流程,方便上手和快速入门 主要是下面这几…

prompt工程策略(一:使用 CO-STAR 框架来搭建 prompt 的结构)

原文:我是如何赢得GPT-4提示工程大赛冠军的 为了让 LLM 给出最优响应,为 prompt 设置有效的结构至关重要。CO-STAR 框架是一种可以方便用于设计 prompt 结构的模板。该模板考虑了会影响 LLM 响应的有效性和相关性的方方面面,从而有助于得到更…

【送书福利第八期】你好!Python(文末送书)

文章目录 编辑推荐内容简介作者简介目录前言/序言 🌤️ 粉丝福利 编辑推荐 适读人群 :程序员;相关院校师生 本书以轻松幽默的语言,从零开始介绍Python语言。书名来源于编程语言中最经典的Hello World程序,寓意带读者从入门到精通…

简单的mysql主从复制搭建

文章目录 准备工作用Docker安装MySQL主库配置【192.168.13.32】从库配置【192.168.13.108】小结 准备工作 用虚拟机提前准备两台服务器,并且在服务器中分别安装好MySQL,服务器的信息如下: 数据库IP主节点192.168.13.32从节点192.168.13.108…

使用python开发的闭运算调试器

使用python开发的开运算调试器 简介效果代码 简介 用来调试闭运算效果的小工具,滑动条可以控制滤波核的大小,用来查看不同滤波核下的闭运算效果。 效果 代码 import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayou…

MyBatis缓存的概念

缓存回顾 什么是缓存? 缓存就是内存中的数据,常常来自对数据库查询结果的保存。使用缓存可以避免频繁与数据库交互,进而提高 响应速度 。 MyBatis 对缓存的支持 MyBatis 也提供了对缓存的支持,分为 一级缓存 和 二级缓存。可以…

您的文件和驱动器上的“密码保护”有多安全?

某些行业(例如医疗保健、法律和公司)的人们在通过电子邮件发送文件时通常依赖密码保护,认为它可以提供足够的安全性来防止窥探。然而,对 PDF 或 Excel 文件进行简单的密码保护并不像看起来那样万无一失。 使用密码保护文件而不加…

稳态大面积光伏组件IV测试太阳光模拟器

稳态大面积光伏组件IV测试太阳光模拟器是太阳能光伏组件质量检测和评价的重要步骤之一。本文将介绍光伏组件IV测试的原理及标准板选择。 I. 光伏组件IV测试原理 光伏组件IV测试即电流电压特性测试,是评估光伏组件性能的重要手段。其测量的主要参数为组件的电流和电…

快速学习SpringAi

Spring AI是AI工程师的一个应用框架,它提供了一个友好的API和开发AI应用的抽象,旨在简化AI应用的开发工序,例如开发一款基于ChatGPT的对话应用程序。通过使用Spring Ai使我们更简单直接使用chatgpt 1.创建项目 jdk17 引入依赖 2.依赖配置 …

LeetCode394字符串解码

题目描述 给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格&#xf…

优选算法——双指针1

双指针 常⻅的双指针有两种形式,⼀种是对撞指针,⼀种是左右指针。 对撞指针:⼀般⽤于顺序结构中,也称左右指针。 对撞指针从两端向中间移动。⼀个指针从最左端开始,另⼀个从最右端开始,然后逐渐往中间逼 近…

品鉴中的品鉴笔记:如何记录和分享自己的品鉴心得

品鉴云仓酒庄雷盛红酒的过程,不仅是品尝美酒,更是一次与葡萄酒深度对话的旅程。为了更好地记录和分享自己的品鉴心得,养成写品鉴笔记的习惯是十分必要的。 首先,选择一个适合的记录工具。可以是传统的笔记本,也可以是…