Python爬虫-数据类型高级
2023-09-11 14:17:08 时间
数据类型高级
字符串高级
字符串的常见操作包括:
- 获取长度-len-len函数可以获取字符串的长度
a = 'hello'
print(len(a))
- 查找内容-find-查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次出现的开始位置的索引值,如果不存在,则返回-1
a1 = 'hello'
print(a1.find('e')) # //1 print(a1.find('p')) // -1
- 判断-startswith,endswith-判断字符串是不是以谁谁谁开头/结尾
a2 = 'hello'
print(a2.startswith('h')) # True 否则返回False
print(a2.endswith('o')) # True 否则返回False
- 计算出现次数-count-返回str在start和end之间 在mystr里面出现的次数
a3 = 'hello'
print(a3.count('l')) # 两次
- 替换内容-replace-替换字符串中指定的内容,如果指定次数count,则替换不会超过count
a4 = 'xxddd'
print(a4.replace('x','n')) # nnddd
- 切割字符串-split-通过参数的内容切割字符串
a5 = '1@2@3@4'
print(a5.split('@')) # ['1', '2', '3', '4']
- 修改大小写-upper,lower-将字符串中的大小写互相转换
a6 = 'hElLo'
print(a6.upper()) # 将所有的小写字母变成大写字母 HELLO
print(a6.lower()) # 将所有的大写字母变成小写字母 hello
- 空格处理-strip-去空格
a7 = ' a '
print(len(a7)) # 7
print(len(a7.strip())) # 1
- 字符串拼接-join-字符串拼接
a8 = 'a'
print(a8.join('hello')) # haealalao
列表高级(列表的增删改查)
添加元素
- append-在末尾添加元素
str_list = ['a','b','c']
str_list.append('d') # 将d加入到列表最后
print(str_list) # ['a', 'b', 'c', 'd']
- insert 在指定位置插入元素
num_list = ['1','3','4']
num_list.insert(1,'2') # 在下标为1的地方插入‘2’
print(num_list) # ['1', '2', '3', '4']
- extend-合并两个列表
sec_list = ['web','pwn','md5']
sec1_list = ['ctf','hw','zb']
sec_list.extend(sec1_list) # 将sec_list的数据一个一个加入到列表sec_list后面
print(sec_list) # ['web', 'pwn', 'md5', 'ctf', 'hw', 'zb']
修改元素
- 通过指定下标来访问列表元素,修改列表时,为列表的下标赋值
city_list = ['北京','天津','石家庄','济南']
# 将列表中的元素值修改
# 可以通过修改下标
查找元素
- 所谓查找,就是看指定元素是否存在
# in 是否在列表中
num0_list = [1,2,3,4,5]
# 判断一下在控制台输入的那个数据是否在列表中
num = int(input('请输入你想要的数字'))
if num in num0_list :
print('在')
else:
print('不在')
# not in 是否不在列表中
game_list=['gta5','pbug']
# 在控制台输入游戏,然后判断是否不在
game = input('请输入游戏')
if game not in game_list :
print('不在')
else :
print('在')
删除元素
列表中常用的删除方法有
# del 根据下标来删除
q_list = [1,2,3,4,5]
del q_list[2]
print(q_list) # ['1', '2', '4', '5']
# pop 删除最后一个元素
w_list = [2,4,6,9]
w_list.pop()
print(w_list) # ['2', '4', '6']
# remove 删除指定元素的值
e_list = [1,2,3,4]
e_list.remove(3)
print(e_list) # [1, 2, 4]
元组高级
Python的元组与列表类似,不同之处在于-元组的元素不能修改-,元组使用小括号,列表使用方括号
访问元组
a_tuple = (2,3,4,5)
print(a_tuple[2]) # 4
print(a_tuple) # (2,3,4,5)
修改元组(不可以被修改)
b_tuple = (2,3,4,5)
# 修改 会报错
b_tuple[2] = 5 # TypeError: 'tuple' object does not support item assignment
print(b_tuple)
创建数组
c_tuple = (2)
print(type(c_tuple)) # <class 'int'>
# 只有一个数组后面需要加逗号
d_tuple = (2,)
print(type(d_tuple)) # <class 'tuple'>
切片
- 切片是指对操作的对象截取其中一部分的操作。字符串,列表,元组都支持切片操作
- 切片语法:[起始:结束:步长],也可以简化是使用[起始:结束]
- 注意:选取的区间是从“起始位置“开始到前一个结束的位置
# 在切片中直接写下标来访问元素
b = 'china'
print(b[3]) # n
# 左闭右开区间 包含坐标左边的数据,不包含右边的数据
print(b[0:4]) # chin
# 从起始值开始 一直到最后
print(b[1:]) # hina
# 从下标为0的索引的元素开始 一直到第二个参数为止 遵循左闭右开区间
print(b[:3]) # chi
# 从下标为0的位置的开始,到下标为3的位置结束 ,每次增加2个长度
print(b[0:3:2]) # ci
字典的高级
查询
china = {'hebei':'sjz','shandong':'jinan'}
# 查询方法一
print(china['hebei']) # sjz
# 使用[]方法 获取不存在的key的时候 会报错 KeyError: 'ss'
print(china['ss'])
# 查询方法二
print(china.get('shandong')) # jinan
# 使用get方法时候 获取不存在的 会返回None
print(china.get('sd'))
修改
city = {'shandong':'qingdao','hebei':'shijiazhuang'}
# 修改之前
print(city) #{'shandong': 'qingdao', 'hebei': 'shijiazhuang'}
# 修改 shandong的值
city['shandong'] = 'jinan'
#修改之后
print(city) # {'shandong': 'jinan', 'hebei': 'shijiazhuang'}
添加
city = {'hebei':'shijiazhuang'}
# 添加前
print(city) # {'hebei': 'shijiazhuang'}
# 给字典添加一个 key value
# 如果使用变量的名字['键'] = 数据时 这个键如果在字典中不存在 那么就会变成新增元素
city['shandong'] = 'jinan'
print(city) # {'hebei': 'shijiazhuang', 'shandong': 'jinan'}
# 如果这个键在字典中存在 那么就会变成修改元素
city['hebei'] = 'tangshan'
print(city) # {'hebei': 'tangshan', 'shandong': 'jinan'}
删除
del
- 删除字典中指定的某一个元素
city = {'shandong':'qingdao','hebei':'shijiazhuang'}
# 删除前
print(city) # {'shandong': 'qingdao', 'hebei': 'shijiazhuang'}
# 删除元素
del city['shandong']
# 删除之后
print(city) # {'hebei': 'shijiazhuang'}
- 删除整个字典
city = {'shandong':'qingdao','hebei':'shijiazhuang'}
# 删除前
print(city) # {'shandong': 'qingdao', 'hebei': 'shijiazhuang'}
# 删除整个字典
del city
# 删除之后
print(city) # NameError: name 'city' is not defined
clear
- 清空字典 但是保留字典对象
# 清空指的是将字典中所有的数据 都删除掉 保留字典的结构
city = {'shandong':'qingdao','hebei':'shijiazhuang'}
# 删除前
print(city) # {'shandong': 'qingdao', 'hebei': 'shijiazhuang'}
# 清空字典
city.clear()
# 删除后
print(city) # {}
遍历
遍历就是一个一个输出
- 遍历字典中的key
city = {'shandong':'qingdao','hebei':'shijiazhuang'}
# 字典.keys()方法 获取字典中的所有的key值 key是一个变量的名字 可以随便写
for key in city.keys():
print(key) # shandong hebei
- 遍历字典中的value
city = {'shandong':'qingdao','hebei':'shijiazhuang'}
# 字典.values() 获取字典中的所有的value值 value是一个变量的名字 可以随便写
for value in city.values() :
print(value)
- 遍历字典的value和key
city = {'shandong':'qingdao','hebei':'shijiazhuang'}
for key,value in city.items() :
print(key,value) #shandong qingdao hebei shijiazhuang
- 遍历字典的项/元素
city = {'shandong':'qingdao','hebei':'shijiazhuang'}
for item in city.items() :
print(item) #('shandong', 'qingdao') ('hebei', 'shijiazhuang')
相关文章
- python3 爬虫实战:mitmproxy 对接 python 下载抖音小视频
- Python爬虫四(正则表达式)
- python爬虫知识点总结(八)Selenium库详解
- python魔法方法之-Python __repr__()方法:显示属性
- Python的多进程并行计算库与多进程爬虫
- 【华为OD机试真题 python】识图谱新词挖掘【2023 Q1 | 100分】
- [Python] timeit测试代码运行效率
- 也谈 Python 的中文编码处理
- Python文件编译成exe
- python简单爬虫操作(requests、etree)
- Python分享:python爬虫可以用来做什么?
- Python爬虫技术--基础篇--Python高级特性
- Python新建项目自动添加介绍和utf-8编码
- Python爬虫-类型转换
- Fibonacci数Python的四种解法
- 《Python数据可视化编程实战》——1.4 在Mac OS X上安装matplotlib
- 《像计算机科学家一样思考Python》——3.8 形参和实参
- 《Python机器学习实践指南》——1.4 小结
- python 使用异常代替返回状态码
- Python 实现被动收入教程之我如何使用 python 制作我的第一个高级telegram机器人
- Python爬虫之Web自动化测试工具Selenium&&Chrome handless
- 18. python爬虫——基于scrapy框架设置下载器中间件中的UA伪装和代理IP
- [Python]Python 使用 for 循环的小例子
- python odoo13 在线预览PDF文件导常解决
- Python数据可视化神器pyecharts
- python爬虫学习(一):BeautifulSoup库基础及一般元素提取方法
- 【Python】爬虫获取微博热搜数据,response中文显示“u7814u7a76u8bc1u5b9eu”
- Python爬虫伪装
- python——numpy中的size()函数