自我提升-python爬虫学习:day04

课前拓展:字符串常用方法

  • len()方法----查看数据长度的方法:len() --->length的缩写
    • 括号里是被查看长度的数据,一个空格也算一个字符
  • strip()方法:去掉字符串首尾的空格
    • 用法 :字符串.strip()
  • replace()方法,替换字符串中的指定字符或子字符串
    • 用法 :字符串.replace(被替换的字符或子字符串,替换后的字符或子字符串)
  • 索引:字符串的索引从0开始,每个字符都有一个索引,索引可以用来访问字符串中的字符
    • 语法:字符串[索引]
    • 索引也支持负数,负数从字符串的末尾开始计数
python 复制代码
# 查看数据长度的方法:len() --->length的缩写
#len()方法,括号里是被查看长度的数据,一个空格也算一个字符
s = '我无敌,你 随 意'
print(len(s)) # 9

#strip()方法,去掉字符串首尾的空格
#用法 :字符串.strip()
s1 = '   我无敌,你 随 意   '
print(s1.strip()) # 我无敌,你 随 意


#replace()方法,替换字符串中的指定字符或子字符串
#用法 :字符串.replace(被替换的字符或子字符串,替换后的字符或子字符串)
s2 = '我无敌,你随意'
s3 = ' 我 无 敌 ,你 随  意  '
print(s2.replace('随意','请便')) # 我无敌,你请便
print(s3.replace(' ','')) # 我无敌,你请便

#字符串的索引从0开始,每个字符都有一个索引,索引可以用来访问字符串中的字符
#语法:字符串[索引]
#索引也支持负数,负数从字符串的末尾开始计数
s = '我无敌,你随意'
print(s[4]) # 你
print(s[5]) # 随
print(s[6]) # 意
print(s[-1]) # 意

1.列表

列表是Python中最常用的数据结构之一,它是一个有序的、可变的序列,可以存储任意类型的元素。

  • 有序性:列表中的元素按照插入顺序排列
  • 可变性:可以修改、添加、删除元素
  • 异构性:可以存储不同类型的元素
  • 可嵌套:列表中可以包含其他列表

列表索引和字符串索引用法一样

python 复制代码
# 创建空列表
empty_list = []
empty_list = list()

# 创建带有初始元素的列表
numbers = [1, 2, 3, 4, 5]
mixed = [1, 'hello', 3.14, True, None,[1,2,3]]  # 可以包含不同类型的元素
print(type(mixed)) # <class 'list'>

#列表索引和字符串索引用法一样
print(mixed[0]) # 1
print(mixed[1]) # hello
print(mixed[2]) # 3.14
print(mixed[4]) # None
print(mixed[5]) # [1,2,3]
print(mixed[3]) # True
列表的常用方法:

把列表当成一个背包,对里面的物品进行增删改查

  • len()方法,查看列表的长度
  • append()方法,向列表末尾添加一个元素
    • 用法 :列表.append(要添加的元素)
  • insert()方法,向列表的指定位置插入一个元素
    • 用法 :列表.insert(索引,要插入的元素)
  • remove()方法,从列表中删除第一个出现的指定元素
    • 用法 :列表.remove(要删除的元素)
  • pop()方法,删除列表末尾的元素
    • 用法:列表.pop()
    • 也可删除指定索引的数据
      • 列表.pop(2)
  • clear()方法,清空列表中的所有元素
    • 用法 :列表.clear()
python 复制代码
#列表的常用方法

backpack = ['止疼药','苹果','水','书','笔']

#len()方法,查看列表的长度
print(len(backpack)) # 5
#append()方法,向列表末尾添加一个元素
#用法 :列表.append(要添加的元素)
backpack.append('手机')
print(backpack) # ['止疼药','苹果','水','书','笔','手机']
#insert()方法,向列表的指定位置插入一个元素
#用法 :列表.insert(索引,要插入的元素)
backpack.insert(2,'书本')
print(backpack) # ['止疼药','苹果','书本','水','书','笔','手机']

#remove()方法,从列表中删除指定的元素
#用法 :列表.remove(要删除的元素)
backpack.remove('手机')
print(backpack) # ['止疼药','苹果','书本','水','书','笔']

#pop()方法,删除列表末尾的元素
#用法:列表.pop()
backpack.pop()
print(backpack) # ['止疼药','苹果','书本','水','书']
backpack.pop(2)
print(backpack) # ['止疼药','苹果','水','书']

#clear()方法,清空列表中的所有元素
#用法 :列表.clear()
backpack.clear()
print(backpack) # []

2.字典

字典(Dictionary)是Python中一种非常重要的数据结构,它是一个无序的键值对(key-value)集合。

  • 特点
    • 字典中的元素以键值对形式存在
    • 键(key)必须是不可变类型(如字符串、数字、元组)
    • 值(value)可以是任何类型
    • 字典是可变的,可以动态添加、修改或删除元素
    • 字典中的键是唯一的
  • 形式:{'key':value} -- 键值对
    • 每个元素之间逗号隔开
python 复制代码
m416 = {
    '名称':'M416',
    '伤害':50,
    '射速':100,
    '子弹类型':'5.56mm',
    '弹药容量':30,
}
print(m416)
print(type(m416)) # <class 'dict'>
字典增删改查的方法
  • 新增元素:字典[新的键名] = 值
  • 取值:字典[键名] 或 字典.get(键名)
  • 删除元素:del 字典[键名]
  • 修改元素值:字典[要修改值的键名] = 新值
    • 字典[键名] = 值 ----键名存在则修改,不存在则新增
  • 获取字典的全部键、值和键值对
    • 字典.keys --- 获取的全部数据放到列表中
    • 字典.values() --- 获取的全部数据放到列表中
    • 字典.items() --- 获取的全部数据放到**元组列表**中
python 复制代码
#字典的增删改查
#新增元素:字典[新的键名] = 值
m416['枪口'] = '消音器'
print(m416) # {'名称':'M416','伤害':50,'射速':100,'子弹类型':'5.56mm','弹药容量':30,'枪口':'消音器'}

#取值:字典[键名] 或 字典.get(键名)
print(m416['伤害']) # 50
print(m416.get('伤害')) # 50
#删除元素:del 字典[键名]
del m416['伤害']
print(m416) # {'名称':'M416','射速':100,'子弹类型':'5.56mm','弹药容量':30,'枪口':'消音器'}

#修改元素值:字典[键名] = 新值
m416['射速'] = 60
print(m416) # {'名称':'M416','射速':60,'子弹类型':'5.56mm','弹药容量':30,'枪口':'消音器'}

#获取字典的全部键、值和键值对
print(m416.keys()) # ['名称', '射速', '子弹类型', '弹药容量', '枪口']
print(m416.values()) #['M416', 60, '5.56mm', 30, '消音器']
print(m416.items()) # [('名称', 'M416'), ('射速', 60), ('子弹类型', '5.56mm'), ('弹药容量', 30), ('枪口', '消音器')]

#字典遍历
for key in m416.keys():
    print(key, m416[key])

3.元组

元组(Tuple)是Python中一种不可变的序列类型,它是由逗号分隔的元素组成的有序集合。

  • 特点
    • 元组中的元素可以是任何类型(数字、字符串、列表、字典等)
    • 元组是不可变的,一旦创建,元素不能添加、修改或删除
    • 元组中的元素是有序的,可通过索引访问
    • 元组可以包含重复元素
    • 元组可以嵌套(元组中包含其他元组)
  • 形式:('名称1,'名称2'...)
  • 创建方式
python 复制代码
# 方式1:使用圆括号
tuple1 = (1, 2, 3)

# 方式2:不使用圆括号(仅用逗号分隔)
tuple2 = 4, 5, 6

# 方式3:创建单元素元组(必须加逗号)
tuple3 = (7,)  # 注意:(7) 不是元组,是整数7

# 方式4:使用tuple()函数转换其他可迭代对象
tuple4 = tuple([1, 2, 3])  # 从列表转换
tuple5 = tuple("hello")    # 从字符串转换

# 空元组创建
empty_tuple = ()
empty_tuple2 = tuple()
  • 获取元组元素
    • 通过索引访问元素
python 复制代码
t = (10, 20, 30, 40)
print(t[0])   # 输出: 10(正向索引,从0开始)
print(t[-1])  # 输出: 40(反向索引,从-1开始)
  • 切片操作
python 复制代码
print(t[1:3])  # 输出: (20, 30)(左闭右开区间)
print(t[:2])   # 输出: (10, 20)(从开始到索引2)
print(t[2:])   # 输出: (30, 40)(从索引2到结束)
  • 注意
    • 元组的核心特性是不可变性,即创建后无法修改元素
    • 如果元组中包含可变类型(如列表),则可变元素的内部可以修改
python 复制代码
# 元组的核心特性是不可变性,即创建后无法修改元素
t = (10, 20, 30)
# t[0] = 100  # 会报错

# 如果元组中包含可变类型(如列表),则可变元素的内部可以修改
t = (1, [2, 3], 4)
t[1][0] = 200  # 可以修改元组中的列表元素
print(t)  # 输出: (1, [200, 3], 4)
  • 元组的方法较少(因为不可变),常用的有
    • count(value) 返回值在元组中出现的次数
    • index(value, start, end) 返回值在元组中的第一个索引位置(可指定搜索范围)
python 复制代码
t = (1, 2, 3, 2, 4, 2)
print(t.count(2))  # 输出: 3(数字2出现了3次)
print(t.index(3))  # 输出: 2(数字3的索引位置)
  • 元组与其他数据结构的比较
相关推荐
小罗和阿泽2 小时前
接口测试系列 接口自动化测试 pytest框架(三)
开发语言·python·pytest
淮北4949 小时前
vim学习进阶
学习·编辑器·vim
猿界零零七9 小时前
pip install mxnet 报错解决方案
python·pip·mxnet
feasibility.10 小时前
AI 爬虫高手养成:Openclaw+Scrapling 手动部署 + 采集策略(以Walmart 电商平台为例)
人工智能·爬虫·科技·机器人·agi·openclaw·scrapling
sayang_shao10 小时前
ARM架构运行模式学习笔记
arm开发·学习·架构
不只会拍照的程序猿11 小时前
《嵌入式AI筑基笔记02:Python数据类型01,从C的“硬核”到Python的“包容”》
人工智能·笔记·python
Jay_Franklin11 小时前
Quarto与Python集成使用
开发语言·python·markdown
happymaker062612 小时前
web前端学习日记——DAY04
前端·学习
Oueii12 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python