欢迎光临
我们一直在努力

Python 五大内置数据结构 str /list/tuple /dict/set

1. str 字符串 

特性:有序、不可变序列,支持索引、切片

s = "hello"

遍历

# 1.直接遍历字符
for c in s:
print(c)
# 2.下标遍历
for i in range(len(s)):
print(i, s[i])
# 3.下标+字符
for idx, char in enumerate(s):
print(idx, char)

基础运算

s1 + s2 # 拼接
s * 3 # 重复
"el" in s # 成员判断
s[0] # 索引取值
s[1:3] # 切片
s[::-1] # 反转
len(s) # 长度

全部常用内置方法

s.capitalize() # 首字母大写
s.title() # 每个单词首字母大写
s.upper() # 全部大写
s.lower() # 全部小写
s.swapcase() # 大小写互换

s.strip() # 去除首尾空白
s.lstrip() # 去除左侧空白
s.rstrip() # 去除右侧空白

s.split(",") # 分割成列表
s.rsplit(",")
s.splitlines() # 按换行分割

"|".join(["a","b"]) # 拼接序列为字符串

s.replace("h","H") # 替换

s.find("ll") # 查找,找不到返回-1
s.rfind("ll")
s.index("ll") # 找不到抛异常
s.rindex("ll")

s.count("l") # 统计字符出现次数

s.startswith("he")
s.endswith("lo")

s.isdigit() # 是否纯数字
s.isalpha() # 是否纯字母
s.isalnum() # 字母+数字
s.isspace() # 是否全空白字符
s.islower()
s.isupper()

s.center(10,"-") # 居中填充
s.ljust(10,"-")
s.rjust(10,"-")

s.zfill(8) # 左侧补0


2. list 列表

特性:有序、可变序列,允许重复元素

lst = [10,20,30]

遍历

# 直接遍历元素
for item in lst:
print(item)
# 下标遍历
for i in range(len(lst)):
print(i, lst[i])
# 下标+元素
for idx, val in enumerate(lst):
print(idx, val)
# 倒序遍历
for val in reversed(lst):
print(val)

基础运算

lst1 + lst2 # 拼接
lst * 2 # 重复
20 in lst # 成员判断
lst[0] # 索引取值
lst[1:] # 切片
lst[::-1] # 反转
len(lst)
lst[1] = 99 # 修改元素

全部内置方法

# 增
lst.append(40) # 尾部追加
lst.insert(1, 15) # 指定下标插入
lst.extend([50,60]) # 合并序列

# 删
lst.pop() # 删除末尾,返回元素
lst.pop(0) # 删除指定下标
lst.remove(20) # 删除第一个匹配元素
lst.clear() # 清空列表

# 查询
lst.index(20) # 获取下标
lst.count(10) # 统计数量

# 排序反转
lst.sort() # 原地升序
lst.sort(reverse=True) # 降序
lst.reverse() # 原地反转

# 复制
lst.copy() # 浅拷贝


3. tuple 元组

特性:有序、不可变序列,一级元素不能修改

t = (1,2,3)
t_single = (5,) # 单个元素必须加逗号

遍历

for item in t:
print(item)
for i in range(len(t)):
print(t[i])
for idx,val in enumerate(t):
print(idx,val)

基础运算

t1 + t2 # 拼接
t * 3 # 重复
2 in t # 成员判断
t[0]
t[1:3]
t[::-1]
len(t)

内置方法

t.index(2) # 返回元素下标
t.count(3) # 统计次数


4. dict 字典(Python3.7 + 有序

特性:可变,键值对;key 唯一,key 必须不可变类型

d = {"name":"张三","age":18}

遍历

# 只遍历key(默认)
for k in d:
print(k, d[k])
# 遍历所有键
for k in d.keys():
print(k)
# 遍历所有值
for v in d.values():
print(v)
# 同时遍历键和值(最常用)
for k, v in d.items():
print(k, v)

基础运算

"name" in d # 判断key是否存在
len(d)
d["name"] # 通过key取值
d["age"] = 20 # 新增/修改键值

全部内置方法

d.get("age", 0) # 取值,可设置默认值
d.keys() # 获取所有键
d.values() # 获取所有值
d.items() # 获取键值对

d.update({"gender":"男"}) # 批量更新/新增

d.pop("age") # 删除指定key,返回value
d.popitem() # 删除最后一组键值对
d.clear() # 清空字典

d.copy() # 浅拷贝

# 创建字典静态方法
dict.fromkeys(["a","b"], 10) # 使用序列生成字典,统一默认值


5. set 集合

特性:可变、无序、元素唯一、自动去重;无索引

s = {1,2,3}
empty_s = set() # 空集合!{}是空字典

遍历

# 唯一方式:不能用下标遍历
for item in s:
print(item)

基础运算

3 in s # 成员判断
len(s)
# 集合运算
a = {1,2,3}
b = {3,4,5}
a & b # 交集
a | b # 并集
a – b # 差集
a ^ b # 对称差集
a <= b # 子集
a >= b # 超集

全部内置方法

# 添加
s.add(4) # 添加单个元素
s.update([5,6]) # 批量添加序列元素

# 删除
s.remove(3) # 删除,不存在报错
s.discard(99) # 删除,不存在不报错(推荐)
s.pop() # 随机删除一个元素
s.clear() # 清空集合

# 集合运算方法(等价运算符)
s.intersection(b) # 交集
s.union(b) # 并集
s.difference(b) # 差集
s.symmetric_difference(b) # 对称差集

# 原地更新集合
s.intersection_update(b)
s.difference_update(b)
s.symmetric_difference_update(b)

s.issubset(b) # 是否子集
s.issuperset(b) # 是否超集
s.isdisjoint(b) # 是否无交集

s.copy() # 拷贝集合


赞(0)
未经允许不得转载:171主机测评 » Python 五大内置数据结构 str /list/tuple /dict/set
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址