Python基础笔记——列表推导式and集合

本文介绍了Python编程中的列表推导式,包括三种基本格式,用于快速生成列表。同时讲解了字典推导式及其在更新字典数据时的规则。此外,还探讨了集合的特性,如不可变元素、无序性、唯一性,以及集合与列表、元组之间的转换和常见操作,如添加、删除和清空元素。
摘要由CSDN通过智能技术生成

列表推导式

1.列表推导式是为了快速生成一个列表
2.格式1::变量=[生成数据的规则 for 临时变量 in xxx]
每次循环都会创建一个数据

my_list = [i for i in range(5)]  
print(my_list) #   [0, 1, 2, 3, 4]
my_list1 = ['hello' for i in range(5)]
print(my_list1) # ['hello', 'hello', 'hello', 'hello', 'hello']
my_list2 = [f'num{i}' for i in my_list]
print(my_list2) # ['num0', 'num1', 'num2', 'num3', 'num4']

格式2:变量 = [生成数据的规则 for 临时变量 in xxx if xxx]
每循环一次,并且if条件变量为True,生成一个数据

# i取0~4,如果i能整除2则输出,所以输出num0和num2
my_list2 = [f'num{i}' for i in range(4) if i % 2 == 0]
print(my_list2)	# ['num0', 'num2']

格式3:变量 = [生成数据规则 for 临时变量 in xxx for 临时变量2 in xxx]
第二个for循环一次生成一次数据

my_list4 = [(i, j) for i in range(3) for j in range(3)]
print(my_list4)# [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

补充:字典推导式

格式:变量 = {生成字典的规则 for 临时变量 in xxx}

my_dict = {f"name{i}": i for i in range(3)}
print(my_dict)	#{'name0': 0, 'name1': 1, 'name2': 2}

字典的key相同修改数据,不存在添加数据

my_dict = {f"name{i}": j for i in range(3) for j in range(3)}
print(my_dict)  # {'name0': 2, 'name1': 2, 'name2': 2}
my_dict = {f"name{i}{j}": j for i in range(3) for j in range(3)}
print(my_dict)	
# {'name00': 0, 'name01': 1, 'name02': 2, 'name10': 0, 'name11': 1, 'name12': 2, 'name20': 0, 'name21': 1, 'name22': 2}

字典

集合:set 定义使用{},{数据,数据}
1.集合中的数据必须是不可变类型
2.集合是可变类型
3.集合是无序的,不支持下标操作
4.集合中的数据是没有重复的(可做去重使用)

my_set = {1, 3.14, True, 'hello', (1, 2)}
print(my_set, type(my_set))	# {(1, 2), 1, 3.14, 'hello'} <class 'set'>
my_list = [1, 2, 3, 4, 2, 5, 1, 0]
my_list = list(set(my_list))
print(my_list)  # [0, 1, 2, 3, 4, 5]  去重
# 集合,列表,元组 三者间可以互相转换

可执行操作:

# 删除
my_set = {1, 3.14, True, 'hello', (1, 2)}
my_set.remove(3.14)	 # 删除指定数据
print(my_set)	# {(1,2),1,'hello'}
my_set.pop()		# 随机删除一个数据
print(my_set)	# {1,'hello'}
# 添加
my_set = {1, 3.14, True, 'hello', (1, 2)}
my_set.add('bai')	# 将数据添加进集合中
print(my_set)		# {(1, 2), 1, 'gugo', 3.14, 'hello'}
# 清空集合
my_set = {1, 3.14, True, 'hello', (1, 2)}
my_set.clear()	清空整个集合
print(my_set)	# set()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值