python中的序列:列表、字典、元组、集合

python中的序列:列表、字典、元组、集合

阅读量:782

序列

列表 字典 元组 集合

一、列表(List):有序、可变、可重复的元素集合
核心操作(增删改查)+ 常用函数

# 1. 定义列表
lst = [1, 2, 3, "a", "b"]
empty_lst = []
# 2. 查(下标/切片/查找)
print(lst[0]) # 下标取值:1
print(lst[-1]) # 负下标取值:"b"
print(lst[1:4]) # 切片:[2, 3, "a"]
print(lst.index("a")) # 查找元素下标:3
print(lst.count(2)) # 统计元素出现次数:1
# 3. 增
lst.append(4) # 末尾加元素:
[1,2,3,"a","b",4]
lst.extend([5,6]) # 末尾批量加:
[1,2,3,"a","b",4,5,6]
lst.insert(2, "x") # 指定下标插入:
[1,2,"x",3,"a","b",4,5,6]
# 4. 改
lst[3] = 99 # 下标修改:
[1,2,"x",99,"a","b",4,5,6]
lst[1:3] = [88,77] # 切片批量修改:
[1,88,77,99,"a","b",4,5,6]
# 5. 删
lst.remove("a") # 删除指定元素:
[1,88,77,99,"b",4,5,6]
lst.pop() # 删除最后一个元素(返回值):6 →
列表变为[1,88,77,99,"b",4,5]
lst.pop(1) # 删除指定下标元素:88 →
[1,77,99,"b",4,5]
del lst[2] # 删除指定下标元素:99 →
[1,77,"b",4,5]
lst.clear() # 清空列表:[]
# 6. 排序/反转
lst = [3,1,4,2]
lst.sort() # 升序排序:[1,2,3,4]
lst.sort(reverse=True) # 降序排序:[4,3,2,1]
lst.reverse() # 反转列表:[1,2,3,4]
print(sorted(lst)) # 临时排序(不修改原列表):
[1,2,3,4]
# 7. 其他常用函数
print(len(lst)) # 长度:4
print(max(lst)) # 最大值:4(元素类型需一致)
print(min(lst)) # 最小值:1
print(sum(lst)) # 求和:10(仅数字列表)
回到首页

二、字典(Dict):无序、键唯一的键值对集合
核心操作(增删改查)+ 常用函数

# 1. 定义字典
dic = {"name": "张三", "age": 20, "score": {"语文":90, "数学":85}}
empty_dic = {}
# 2. 查(取值/查键/值/键值对)
print(dic["name"]) # 键取值:"张三"
print(dic.get("age")) # get取值:20
print(dic.get("gender", "男")) # 键不存在返回默认值:"男"
print(dic.keys()) # 所有键:
dict_keys(['name','age','score'])
print(dic.values()) # 所有值:
dict_values(['张三',20,{'语文':90,'数学':85}])
print(dic.items()) # 所有键值对:
dict_items([('name','张三'),...])
# 3. 增/改
dic["age"] = 21 # 键存在→修改值:21
dic["gender"] = "男" # 键不存在→新增:
{"name":"张三","age":21,"gender":"男","score":...}
回到首页

三、元组(Tuple):有序、可重复的元素集合
核心操作(仅查/不可改)+ 常用函数

# 1. 定义元组
tup = (1, 2, 3, "a", "b")
single_tup = (5,) # 单个元素必须加逗号,否则视为普通变量
empty_tup = ()
# 2. 查(下标/切片/查找)
print(tup[0]) # 下标取值:1
print(tup[-1]) # 负下标取值:"b"
print(tup[1:4]) # 切片:(2, 3, "a")
print(tup.index("a")) # 查找元素下标:3
print(tup.count(2)) # 统计元素出现次数:1
# 3. 不可修改(以下操作报错,仅作对比)
# tup[2] = 99 # 报错:TypeError(元组不可变)
# tup.append(4) # 报错:AttributeError
# 4. 常用函数
print(len(tup)) # 长度:5
print(max(tup[:3])) # 最大值:3(仅数字部分)
print(min(tup[:3])) # 最小值:1
print(sum(tup[:3])) # 求和:6
tup_copy = tup[:] # 切片拷贝元组
# 5. 元组拆包
a, b,
*rest = tup # 拆包:a=1, b=2, rest=
[3,"a","b"]

回到首页

四、集合(Set):无序、元素唯一的集合
核心操作(增删/去重/集合运算)+ 常用函数

核心操作(增删/去重/集合运算)+ 常用函数
# 1. 定义集合
s = {1, 2, 3, 3, "a"} # 自动去重:{1,2,3,"a"}
empty_set = set() # 空集合必须用set(),不能用{}({}是字典)
# 2. 查(无下标,只能遍历/判断)
print(2 in s) # 判断元素是否存在:True
for elem in s:
  print(elem) # 遍历:1,2,3,"a"(顺序随机)
# 3. 增
s.add(4) # 添加单个元素:{1,2,3,4,"a"}
s.update([5,6]) # 批量添加:{1,2,3,4,5,6,"a"}
# 4. 删
s.remove(3) # 删除指定元素(不存在报错):
{1,2,4,5,6,"a"}
s.discard(9) # 删除指定元素(不存在不报错)
s.pop() # 随机删除一个元素(返回值)
s.clear() # 清空集合:set()
# 5. 集合运算(交集/并集/差集/对称差集)
s1 = {1,2,3,4}
s2 = {3,4,5,6}
print(s1 & s2) # 交集:{3,4}
print(s1 | s2) # 并集:{1,2,3,4,5,6}
print(s1 - s2) # 差集(s1有s2无):{1,2}
print(s1 ^ s2) # 对称差集(仅一方有):{1,2,5,6}
# 6. 其他常用函数
print(len(s1)) # 长度:4
print(max(s1)) # 最大值:4
print(min(s1)) # 最小值:1
s_copy = s1.copy() # 拷贝集合
# 7. 去重实用场景
lst = [1,2,2,3,3,3]
unique_lst = list(set(lst)) # 列表去重:[1,2,3](顺序随机)

回到首页

核心总结

所有操作均遵循“列表/字典/集合可变,元组不可变”的核心规则,
函数使用时注意:

  1. 可变类型(列表/字典/集合)的修改操作直接改变原对象;
  2. 不可变类型(元组/字符串)的操作均返回新对象;
  3. 集合无下标,不能通过下标访问,仅能通过“元素是否存在”判断。

回到首页

#1、python三种基本类型的转换
int('123')
float(123)
str(123)

#2、把整数拼接成字符串
a = 23
b = 24
c = 25
print(str(a) + str(b)+str(c))

#3、把字符串转换成列表
# 第一种方式
sl = '1,2,3'
print(sl.split(',')) # 输出结果['1', '2', '3']

# 第二种方式
s = "[1,2,'刘亦菲']"
b = eval(s)
print(b)
print(type(b))

# 4、把列表转换成字符串

d = ['1','2','3']
e = ''.join(d)
print(e)
print(type(e))

# 5、把列表转换为字典
list_name = ['小红','小亮']
list_score = [80,90]
dict_scroe = zip(list_name,list_score)
dict_score_res= dict(dict_scroe)
print(dict_score_res)

# 6、将字典转换成列表

dict_name_score ={'小红': 80, '小亮': 90}

list_name =list(dict_name_score.keys())
print(list_name)

list_socre = list(dict_name_score.values())
print(list_score)
Comments are closed.