【零基础玩转Python爬虫:手把手教你成为数据猎人】之高级数据类型篇!

在这里插入图片描述

🙋‍奔跑时流的汗,比徘徊时落的泪更值得骄傲!
⭐本期精彩呈现:【零基础玩转Python爬虫:手把手教你成为数据猎人】之高级数据类型篇!
🏆系列专栏:零基础玩转Python爬虫:手把手教你成为数据猎人,带你一步步踏入数据猎人的奇妙世界,掌握爬虫技艺,猎取海量数据!快来加入我们,一起开启数据探险之旅吧!



前言


序列

序列是有序排列的元素集合。有序排列就是元素中有索引顺序之分,可以通过索引来访问指定位置的元素。
序列是有序的,所以可以通过索引访问元素,序列中第一个元素的索引是0,其他元素的索引是第一个元素的偏移量。可以有正偏移量,称为正向索引。也可以有负偏移量,称为反向索引。正向索引的最后一个元素索引是“序列长度-1”,反向索引最后一个元素索引是-1。

# 索引访问示例
seq = [10, 20, 30, 40]
print(seq)    # 输出第一个元素: 10
print(seq[-1])   # 输出最后一个元素: 40

# 切片操作示例(含步长)
print(seq[1:3])     # 切片: [20, 30](索引1到2)
print(seq[::2])     # 步长为2: [10, 30]
print(seq[::-1])    # 反向切片: [40, 30, 20, 10]

列表

列表可变序列,可存储任意数据类型,允许重复元素。

列表创建与访问

创建列表最简单的办法是将元素放入方括号中,并用逗号分隔元素。列表中可以存储任何类型的数据,如果列表中没有任何元素,则表示方法为[]。

# 创建列表
my_list = [1, "apple", True, 3.14]
print(my_list)          # 输出: [1, 'apple', True, 3.14]
print(my_list)       # 访问元素: "apple"

# 空列表
empty_list = []

通过索引访问列表中的元素,语法格式如下,其中,idx是要访问的列表元素的索引。

列表[idx]

列表切片

通过切片(Slicing)操作将序列分隔为小的子序列,切片运算符有两种语法形式。

  • [start:end]:start是开始索引,end是结束索引。
  • [start :end :step]:start是开始索引,end是结束索引,step是步长,步长是在切片时获取元素的间隔。步长可以为正整数,也可为负整数。步长与当次元素索引、下次元素索引之间的关系为:下次元素索引=当次元素索引+步长。

修改列表

列表是可以修改的序列,可以追加、删除、替换列表中的元素。列表中可以保存任何类型元素,对元素是否重复也没有限制。

# 追加元素
my_list.append("new_item")
print(my_list)  # 输出: [1, 'apple', True, 3.14, 'new_item']

# 删除元素
del my_list
print(my_list)  # 输出: [1, True, 3.14, 'new_item']

# 替换元素
my_list = 100
print(my_list)  # 输出: [100, True, 3.14, 'new_item']

# 切片修改
my_list[1:3] = ["a", "b", "c"]
print(my_list)  # 输出: [100, 'a', 'b', 'c', 'new_item']

元组 tuple

元组是不可以修改的序列, 序列中索引、切片等操作也完全适合于元组。元组不可以修改,所有试图修改元组中元素的操作都会引发异常。

# 创建元组
my_tuple = (1, "apple", True)
print(my_tuple)     # 输出: 1

# 尝试修改会报错
try:
    my_tuple = 100  # 抛出 TypeError
except TypeError as e:
    print("错误:", e)  # 输出: 'tuple' object does not support item assignment

# 元组切片(生成新元组)
print(my_tuple[1:])    # 输出: ('apple', True)

集合 set

集合是一种可迭代、无序的、不能包含重复元素的数据结构。

序列中的元素是有序的,可以重复出现,而集合中的元素是无序的,不能包含重复元素。序列强调的是有序,集合强调的是不重复。当不考虑顺序,而且没有重复的元素时,序列和集合可以互相替换。

# 创建集合
set_a = {1, 2, 3}
set_b = {3, 4, 5}

# 并集
print(set_a | set_b)   # 输出: {1, 2, 3, 4, 5}

# 交集
print(set_a & set_b)   # 输出: {3}

# 子集判断
print({1, 2} <= set_a) # 输出: True

# 添加元素
set_a.add(4)
print(set_a)           # 输出: {1, 2, 3, 4}

并集运算符 |

用于计算两个集合的并集,即包含两个集合中所有唯一元素的新集合。

交集运算符 &

用于计算两个集合的交集, 即包含两个集合都存在的元素。

子运算符 <=

用于判断一个集合是否为另一个集合的子集。

字典 dict

字典是可迭代的、可变的数据结构,通过键来访问元素的数据结构。字典结构比较复杂,它是由键值对构成。创建字典可以使用大括号{}将“键:值”对之间用逗号分隔。

# 创建字典
my_dict = {"name": "Alice", "age": 25, "city": "New York"}
print(my_dict["name"])  # 输出: Alice

# 修改值
my_dict["age"] = 26
print(my_dict)          # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York'}

# 添加新键值对
my_dict["email"] = "alice@example.com"
print(my_dict)          # 输出包含 email 键

# 常用方法
print(my_dict.keys())   # 输出所有键: dict_keys(['name', 'age', 'city', 'email'])
print(my_dict.values()) # 输出所有值: dict_values(['Alice', 26, 'New York', 'alice@example.com'])

字符串 str

由字符组成的一串字符序列称为字符串,字符串是有顺序的,从左到右,索引从0开始依次递增。Python中字符串类型是str。Python中普遍采用单引号’'或双引号""包裹起来。

普通字符串

s = "Hello, Python!"
print(s)           # 输出完整字符串: Hello, Python!
print(s)        # 输出第一个字符: H
print(s[7:13])     # 切片提取"Python": Python
print(len(s))      # 获取长度: 13
print("Python" in s)  # 存在性检查: True


转义符

如果想在字符串中包含一些特殊的字符,如换行符、制表符等。在普通字符串中则需要转义,前面要加上反斜杠’ \ ',这称为字符转义。
常用转义符:

print("Line1\nLine2\tTabbed")  # 输出:
# Line1
# Line2   Tabbed

print("路径转义:C:\\Program Files")  # 输出: 路径转义:C:\Program Files
print("他说:\"你好!\"")         # 输出: 他说:"你好!"

原始字符串 rawstring

如果字符串中有很多特殊字符都需要转,则可以使用原始字符串表示,原始字符串是在普通字符串前加r,字符串中的特殊字符不需要转义,按照字符串的本来面目呈现。

raw_path = r"C:\Users\Document\note.txt"
print(raw_path)  # 输出: C:\Users\Document\note.txt

# 对比普通字符串
normal_path = "C:\\Users\\Document\\note.txt"
print(normal_path)  # 输出相同结果

长字符串

如果字符串中包含了换行缩进等排版字符,则使用三重单引号’''或三重双引号"""包裹起来,这就是长字符串。

long_str = '''这是多行字符串,
保留所有格式(包括换行和缩进)。
    第三行缩进保留。'''
print(long_str)


总结

今日学习之旅已圆满收笔,愿每位君子都满载而归,心有所悟!🤩

若你对这探索之旅情有独钟,何不紧随此专栏的步伐?新知如潮,连绵不绝,将与你共绘思维的绚烂篇章,舞动智慧的火花!😎

轻轻一点下方名片,加入我们的粉丝大家庭,让我们在知识的浩瀚海洋中再次相逢,携手见证智慧之花的绚丽绽放,共享求知的喜悦与盛宴!👍
在这里插入图片描述

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颜颜yan_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值