Python Day5 —— 类型转换、推导式

目录

一、类型转换

1.tuple()

2.list()

3.set()

 二、推导式

1.列表推导式(列表生成式)

1.1while for循环与列表推导式对比

1.2带if的列表推导式

1.3多个for循环实现列表推导式

         2.字典推导式

2.1创建一个字典 

2.2将两个列表合并为一个字典

2.3提取字典中的目标数据

3.集合推导式


一、类型转换

1.tuple()

将某个序列转换成元组

2.list()

将某个序列转换成列表

3.set()

 将某个序列转换成集合

list0 = [1, 1, 2, 3, 4, 5]
set0 = {'a', 'b', 'c', 'd'} #集合没有顺序
tuple0 = (10, 11, 100, 101, 110, 111)
# tuple()
print(tuple(list0)) # (1, 1, 2, 3, 4, 5)
print(tuple(set0)) # ('b', 'a', 'c', 'd')
print(tuple(tuple0)) # (10, 11, 100, 101, 110, 111)
# list()
print(list(list0)) # [1, 1, 2, 3, 4, 5]
print(list(set0)) # ['c', 'd', 'a', 'b']
print(list(tuple0)) # [10, 11, 100, 101, 110, 111]
# set()
print(set(list0)) # {1, 2, 3, 4, 5} → 去重性
print(set(set0)) # {'c', 'b', 'd', 'a'}
print(set(tuple0)) # {100, 101, 10, 11, 110, 111}

 二、推导式

用于简化代码

1.列表推导式(列表生成式)

用一个表达式创建一个有规律的列表或控制一个有规律的列表

列表中的数据是有规律的

语法

[xx for xx in range()

1.1while for循环与列表推导式对比

  • while循环实现
# 创建一个0-10的列表
list = []
i = 0
while i <= 10:
    list.append(i)
    i += 1
print(list)
  • for循环实现
# 创建一个0-10的列表
# for
list = []
for i in range(11):
    list.append(i)
print(list)
  • 列表推导式实现
# 创建一个0-10的列表
# 列表推导式
list = [i for i in range(11)]
print(list)

1.2带if的列表推导式

  • 用range()步长控制
# 创建0-10偶数
# range()函数步长控制
list = [i for i in range(0, 11, 2)]
print(list)
  • if列表推导式
# 创建0-10偶数
# for循环+if
list = []
for i in range(11):
    if i % 2 == 0:
        list.append(i)
    i += 1
print(list)
# 用if列表推导式
list = [i for i in range(11) if i % 2 == 0]
print(list)

1.3多个for循环实现列表推导式

  • for循环嵌套
# 创建循环[(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
# for循环嵌套
list = []
for i in range(1, 3):
    for j in range(3):
        list.append((i, j))
print(list)
  •  多个for循环列表推导式
# 创建循环[(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
# 多个for循环列表推导式
list = [(i, j) for i in range(1, 3) for j in range(3)]
print(list)

2.字典推导式

快速合并列表为字典提取字典中的目标数据

语法

[xx1: xx2 for ... in ...

2.1创建一个字典 

# 创建一个字典,key是1-5,value是其平方
dict = {i: i**2 for i in range(1, 6)}
print(dict)

2.2将两个列表合并为一个字典

list1 = ['name', 'gender', 'age']
list2 = ['Lucy', '19', 'woman']
dict = { list1[i]: list2[i] for i in range(len(list1))}
print(dict) # {'name': 'Lucy', 'gender': '19', 'age': 'woman'}

如果两列表数据个数相同,len(任意列表)均可,若数据个数不同,len统计数据个数少的列表个数,否则报错。

2.3提取字典中的目标数据

#人数少于10人的
grade = {'A': 7, 'B': 12, 'C': 20, 'D': 15, 'F':2}
num = {key: value for key, value in grade.items() if value < 10}
print(num) #{'A': 7, 'F': 2}

3.集合推导式

按要求创建一个集合

语法

[xx for xx in

集合有去重功能

# list中数据的立方
list = [1, 1, 2, 3, 4, 4]
set = {i ** 3 for i in list}
print(set) # {8, 1, 27, 64}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值