🙋奔跑时流的汗,比徘徊时落的泪更值得骄傲!
⭐本期精彩呈现:【零基础玩转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)
总结
今日学习之旅已圆满收笔,愿每位君子都满载而归,心有所悟!🤩
若你对这探索之旅情有独钟,何不紧随此专栏的步伐?新知如潮,连绵不绝,将与你共绘思维的绚烂篇章,舞动智慧的火花!😎
轻轻一点下方名片,加入我们的粉丝大家庭,让我们在知识的浩瀚海洋中再次相逢,携手见证智慧之花的绚丽绽放,共享求知的喜悦与盛宴!👍