专业编程基础技术教程

网站首页 > 基础教程 正文

python中推导式创建序列

ccvgpt 2024-11-27 12:05:22 基础教程 1 ℃

#推导式创建序列:推导式是从一个或者多个迭代器快速创建序列的一种方法,它可以将循环和条件判断结合,从而避免冗长的代码

#1、列表推导式

python中推导式创建序列

'''

语法格式如下

[表达式 for item in 可迭代对象]

或者

{表达式 for item in 可迭代对象 if 条件判断 }

'''

a=[x for x in range(1,10)]

print(a)

b=[x*7 for x in range(1,10)]

print(b)

c=[x*6 for x in range(1,10) if x%3==0]

print(c)

d=[x for x in "xcdearf"]

print(d)

cells=[(row,col) for row in range(1,10) for col in range(1,10)] #使用2个循环

for cell in cells:

print(cell)

#2、字典推导式

'''

语法格式:

{key_expression:value_expression for 表达式 in 可迭代对象}

类似于列表推导式,字典推到也可以增加if条件判断,多个for循环

操作:统计文本中字符出现的次数

'''

my_text='i love you ,i love szx,i love zdd'

char_count={i:my_text.count(i) for i in my_text}

print(char_count)

#课下作业,使用普通的循环实现上面推导式实现的字符出现的次数统计

#3、集合推导式

'''

语法格式如下

[表达式 for item in 可迭代对象]

或者

{表达式 for item in 可迭代对象 if 条件判断 }

'''

a={x for x in range(1,100) if x%9==0}

print(a)

#4、生成器推导式(生成元组):元组没有推导式

b=(x for x in range(1,100) if x%8==0)

print(b) #输出会提示我们是“一个生成器对象”,一个生成器只能运行一次,第一次迭代可以得到数据。第二次迭代发现已经没有了

gnt=(x for x in range(1,100) if x%5==0)

for x in gnt:

print(x,end="")

for x in gnt: #第二次迭代发现已经没有了

print(x,end="")

Tags:

最近发表
标签列表