Python基础学习_Python 推导式

本文介绍了Python中的四种推导式:列表推导式用于快速生成列表,例如计算10以内可被2整除的整数;字典推导式用于构建字典,如基于数字和它们的平方创建字典;集合推导式用于生成集合,如计算1到3的平方数;元组推导式(生成器表达式)则用于生成元组。这些推导式提供了简洁的语法来处理数据结构。
摘要由CSDN通过智能技术生成

******
20230308~20230309
******

# Python 推导式
# Python 支持各种数据结构的推导式 : 列表(list)推导式,字典(dict)推导式,集合(set)推导式,元组(tuple)推导式

# *****************************************************************************************
# 列表推导式
# 例子:计算 10 以内可以被 2 整除的整数

intNum = [i for i in range(0,10) if i % 2 == 0]
print(intNum)
print(type(intNum))                          # 打印查看数据类型结构

'''
intNum1 = []
for i in range(10):
    if i % 2 == 0:
        intNum1.append(i)
print(intNum1)
'''

# *****************************************************************************************
# 字典推导式
# 例子1:提供六个数字,以六个数字为键,六个数字的平方为值来创建字典

dic = {key:key**2 for key in (1, 2, 3, 4, 5, 6)}
print(dic)
print(type(dic))                            # 打印查看数据类型结构

# dic0 = {i:j**2 for i,j in zip(range(1,7),range(1,7))}
# print(dic0)

'''
lis = [1,2,3,4,5,6]
lis1 = []
for lisT in lis:
    lis1.append(lisT**2)
dic1 = dict(zip(lis,lis1))                  # 该功能结果与例子1字典推导式一样
print(dic1)
'''

# 例子2:使用字符串及其长度创建字典

liststr = ['Bai du','Touyin','Aiqiyi']      # 将列表中各字符串值为键,各字符串的长度为值,组成键值对
newdic = {key:len(key) for key in liststr}
print(newdic)
print(type(newdic))                         # 打印查看数据类型结构

'''
liststr = ['Bai du','Touyin','Aiqiyi']
liststr2 = []
for lisS in liststr:
    liststr2.append(len(lisS))
    dic2 = dict(zip(liststr,liststr2))      # 该功能结果与例子2字典推导式一样
print(dic2)

# ******
liststr = ['Bai du','Touyin','Aiqiyi']
nd = {}
for i in liststr:
    nd[i] = len(i)                          # 该功能结果与例子2字典推导式一样
print(nd)
'''

# *****************************************************************************************
# 集合推导式
# 例子1:计算数字 1,2,3 的平方数
setnew = {i**2 for i in range(1,4)}
print(setnew)
print(type(setnew))                          # 打印查看数据类型结构

'''
listNum = [1,2,3]
listNum1 = []
empty_set = set()                            # 创建一个空集合必须用 set() 而不是 { }
for i in listNum:
    listNum1.append(i**2)
    empty_set.update(listNum1)               # update()括号中的参数可以是列表,元组,字典
print(empty_set)
'''

# 例子2:判断不是 abc 的字母并输出
a = {x for x in 'abeacsbcy' if x not in 'abc'}
print(a)
print(type(a))

'''
a2 = set()                                    # 创建一个空集合必须用 set() 而不是 { }
for i in 'abeacsbcy':
    if i not in 'abc':
        a2.update(i)
print(a2)
'''

# *****************************************************************************************
# 元组推导式(生成器表达式)
# 例子:生成一个包含数字 1~9 的元组
a = (x for x in range(1,10))
print(a)                                      # 返回的是生成器对象
b = tuple(a)                                  # 使用 tuple() 函数,可以直接将生成器对象转换成元组
print(b)

#a1 = tuple((x for x in range(1,10)))
#print(a1)


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值