文章目录
「章节总览」
【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)定义
python
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
print(name_list)
# 将列表遍历输出
for name in name_list:
print(name)
# 输出name_list类型
print(type(name_list))
(2)常用方法
- 按下标索引
python
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
print(name_list[0])
- 反向索引
python
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
print(name_list[-4])
- 查找某元素下标
python
print(name_list.index('wangwu'))
- 指定位置插入元素
列表.insert(下标, 元素),在指定的下标位置,插入指定的元素
python
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
name_list.insert(1, 'sss')
print(name_list)
- 追加元素
列表.append(元素),将指定元素,追加到列表的尾部
python
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
name_list.append('sss')
print(name_list)
列表.extend(其它数据容器),将其它数据容器的内容取出,依次追加到列表尾部
python
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
other_list = ['sss', 'ddd']
name_list.extend(other_list)
print(name_list)
- 删除元素
python
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
# 方式一
del name_list[0]
# 方式二
name_list.pop(0)
print(name_list)
- 删除某元素在列表中的第一个匹配项
python
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
name_list.remove('lisi')
print(name_list)
- 清空列表
python
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
name_list.clear()
print(name_list)
- 统计某元素在列表内的数量
python
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
print(name_list.count('lisi'))
- 列表长度
python
name_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi']
print(len(name_list))
2.元组
元组一旦定义完成,就不可修改
(1)定义
python
name_list = ('zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'lisi')
print(name_list)
3.字符串常用操作汇总
(1)根据下标索引取出特定位置字符
python
name = 'hello world'
print(name[0])
(2)查找给定字符的第一个匹配项的下标
python
name = 'hello world'
print(name.index('h'))
(3)将字符串内的全部字符串1,替换为字符串2
python
name = 'hello world'
newName = name.replace('world', 'city')
print(newName)
(4)按照给定字符串,对字符串进行分隔
python
name = 'hello world'
newName = name.split(' ')
print(newName)
(5)移除首尾的空格和换行符或指定字符串
python
name1 = ' hello world '
name2 = '12hello world21'
newName1 = name1.strip(' ')
newName2 = name2.strip('12')
print(newName1)
print(newName2)
(6)统计字符串内某字符串的出现次数
python
name1 = 'hello world'
print(name1.count('o'))
4.序列
序列是指:内容连续、有序,可使用下标索引的一类数据容器。
列表、元组、字符串,均可以可以视为序列。
序列支持切片,即:列表、元组、字符串,均支持进行切片操作。
切片:从一个序列中,取出一个子序列。
语法:序列[起始下标:结束下标:步长]
表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列。
- 起始下标表示从何处开始,可以留空,留空视作从头开始
- 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾
- 步长表示,依次取元素的间隔
- 步长1表示,一个个取元素
- 步长2表示,每次跳过1个元素取
- 步长N表示,每次跳过N-1个元素取
- 步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)
python
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)定义
python
my_list = {1, 2, 3, 4, 5}
print(my_list)
(2)常用方法
- 集合内添加一个元素
python
my_list = {'1', '2', '3', '4', '5'}
my_list.add('111')
print(my_list)
- 移除集合内指定的元素
python
my_list = {'1', '2', '3', '4', '5'}
my_list.remove('3')
print(my_list)
- 随机取出一个元素
python
my_list = {'1', '2', '3', '4', '5'}
print(my_list.pop())
- 清空
python
my_list = {'1', '2', '3', '4', '5'}
my_list.clear()
print(my_list)
- 2个集合的差集
python
my_list1 = {'1', '2', '3', '4'}
my_list2 = {'2', '3', '4', '5'}
my_list3 = my_list1.difference(my_list2)
print(my_list3)
- 2个集合的并集
python
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不允许重复,重复添加等同于覆盖原有数据
python
my_dict = {1: 'one', 2: 'two', 3: 'three'}
print(my_dict)
(2)常用方法
- 获取字典的全部Key,可用于for循环遍历字典
python
my_dict = {1: 'one', 2: 'two', 3: 'three'}
print(my_dict.keys())
- 取出Key对应的Value并在字典内删除此Key的键值对
python
my_dict = {1: 'one', 2: 'two', 3: 'three'}
my_dict.pop(1)
print(my_dict)
二、函数
1.函数多返回值
- 按照返回值的顺序,写对应顺序的多个变量接收即可
- 变量之间用逗号隔开
python
def test():
return "a", 1
x, y = test()
print(x)
print(y)
2.函数多种传参方式
(1)位置参数
调用函数时根据函数定义的参数位置来传递参数
python
def test(x, y):
print('x====', x)
print('y====', y)
test(1, 2)
(2)关键字参数
函数调用时通过"键=值"形式传递参数
** kwargs 表示关键字参数, 它本质上是一个 dict
python
def test(**kwargs):
print(kwargs)
test(x=1, y=2, z=3, a=4)
(3)缺省参数
不传值,默认z赋值为1
python
def test(x, y, z=1):
print(x)
print(y)
print(z)
test(1, 2)
test(1, 2, 3)
(4)不定长参数
*args 表示任何多个无名参数, 他本质上是一个 tuple
python
def test(*args):
print('x====', args)
test(1, 2)
3.lambda匿名函数
-
lambda 传入函数 :函数体(一行代码)
-
匿名函数用于临时构建一个函数,只用一次的场景
-
匿名函数的定义中,函数体只能写一行代码,如果函数体要写多行代码,不可用lambda 匿名函数,应使用def定义带名函数
python
def test(compute):
result = compute(1, 2)
print(result)
test(lambda x, y: x + y)