三元表达式,列表生成式,字典生成式,生成器表达式

三元表达式

条件成立时的返回值 if 条件 else 条件不成立时的返回值

def max2(x,y):
    if x > y:
        return x
    else:
        return y
print(max2(10,20))

x=10
y=20
res=x if x > y else y
print(res)

列表生成式

#输出1~10中每个数字的平方l=[item**2 for item in range(1,11)]
print(l)
names=[‘alex‘,‘wxx‘,‘lxx‘]
为列表中每个人名加上SB
l=[]
for name in names:
    l.append(name + ‘SB‘)
names=lprint(l)
列表生成式写法
names=[name+‘SB‘ for name in names]
print(names)
names=[‘alex‘,‘wxx‘,‘egon‘,‘lxx‘,‘zhangmingyan‘]为列表中除了egon外的每个人名加上SB
l=[]
for name in names:
    if name != ‘egon‘:
        l.append(name + ‘SB‘)
names=l

列表生成式写法
names=[name+‘SB‘ for name in names if name != ‘egon‘]
print(names)
把所有元素大写names=[‘egon‘,‘alex_sb‘,‘wupeiqi‘,‘yuanhao‘]
names=[name.upper() for name in names]
print(names)

把不以sb结尾的元素的长度以列表输出
names=[‘egon‘,‘alex_sb‘,‘wupeiqi‘,‘yuanhao‘]
nums=[len(name) for name in names if not name.endswith(‘sb‘)]
print(nums)

字典生成式

s1=‘hello‘
l1=[1,2,3,4,5]

res=zip(s1,l1)
print(res)     #输出的是内存地址
print(list(res))    #打印结果:[(‘h‘, 1), (‘e‘, 2), (‘l‘, 3), (‘l‘, 4), (‘o‘, 5)]
keys=[‘name‘,‘age‘,‘sex‘]
values=[‘egon‘,18,‘male‘]

res=zip(keys,values)
print(list(res))       #[(‘name‘, ‘egon‘), (‘age‘, 18), (‘sex‘, ‘male‘)]
print(list(res))
d={}
for k,v in zip(keys,values):
    d[k]=v
print(d)            #{‘name‘: ‘egon‘, ‘age‘: 18, ‘sex‘: ‘male‘}
字典生成器写法
keys=[‘name‘,‘age‘,‘sex‘]
values=[‘egon‘,18,‘male‘]
d={k:v for k,v in zip(keys,values)}
print(d)      #{‘name‘: ‘egon‘, ‘age‘: 18, ‘sex‘: ‘male‘}
info={‘name‘: ‘egon‘, ‘age‘: 18, ‘sex‘: ‘male‘}

keys=info.keys()
# print(keys)
iter_keys=keys.__iter__()
values=info.values()
# print(values)

d={k:v for k,v in zip(keys,values)}
print(d)

生成器表达式

with open(‘a.txt‘,encoding=‘utf-8‘) as f:
    nums=(len(line) for line in f)
    print(max(nums))      #统计a.txt中最长一行的长度
l=[‘egg%s‘ %i for i in range(100)]
print(l)        #输出‘egg0‘到‘egg99‘
g=(‘egg%s‘ %i for i in range(1000000000000))
# print(g)
print(next(g))
print(next(g))          #next一个出一个

原文地址:https://www.cnblogs.com/chillwave/p/9180544.html

时间: 2024-10-07 13:44:48

三元表达式,列表生成式,字典生成式,生成器表达式的相关文章

三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数

一 三元表达式.列表推导式.生成器表达式 1.三元表达式 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(res) 2.列表推导式 #1.示例 egg_list=[] for i in range(10): egg_list.append('鸡蛋%s' %i) egg_list=['鸡蛋%s' %i for i in range(10)] #2.语法 [expression for item1 in iterabl

六 三元表达式、列表推导式、生成器表达式

一 三元表达式 二 列表推导式 三 生成器表达式 一 三元表达式 1 name=input('姓名>>: ') 2 res='abc' if name == 'lucy' else 'jack' 3 print(res) 二 列表推导式 #1.示例 egg_list=[] for i in range(10): egg_list.append('鸡蛋%s' %i) egg_list=['鸡蛋%s' %i for i in range(10)] #2.语法 [expression for ite

Python3 三元表达式、列表推导式、生成器表达式

Python3 三元表达式.列表推导式.生成器表达式 三元表达式 表达式中,有三个元素 name = input("请输入姓名: ")ret = '输入正确' if name == 'aaa' else '输入错误'print(ret)  列表推导式 #1.示例# 方法1egg_list1 = []for i in range(10): egg_list1.append('鸡蛋%s' % i)print(egg_list1) #方法2egg_list2 = ['鸡蛋%s' %i for

列表推导式和生成器表达式

# 列表推导式 lis = [i for i in range(10)] print(lis) # 生成器表达式 crt = (i for i in range(10)) print(crt) print(crt.__next__()) print(crt.__next__()) print(crt.__next__()) #打印: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] <generator object <genexpr> at 0x00000188F0FED9

day14,列表推导式,生成器表达式,内置函数

一.列表推导式.生成器表达式: # li = []# for i in range(1,101):# li.append(i)# print(li) #l1 = [python1期,python2期,python3期.....]# l1 = []# for i in range(1,12):# l1.append('python%s期' % i)# print(l1)#一行搞定,列表推导式:用列表推导式能够构建的任何列表,用别的都可以构建.#一行,简单,感觉高端.但是,不易排错.# li = [

函数 三元表达式 列表生成式 字典生成式 生成器表达式

1.三元表达式 针对 if  条件判断的简写 可以比较下比如: def max2(x,y): if x > y: return x else: return y max2(20,30) ================================================= x=10 y=20 res=x if x > y else y print(res) 真正的核心代码从4条变成了一条就可以解决了 代码形式:条件成立时的返回值    if 条件    else 条件不成立时的返回

递归/匿名函数/三元表达式/列表生成式/字典生成式/二分算法

让在下揭开尔等的面纱,一探究竟:) >>>递归: 递归是一个往复的过程,也就是由两个过程组成,一个是计算过程,一个是将值层层返回的过程,递归的奇妙之处,就在于自身调用自身,然后,过程遵循由复杂到简单,最终满足相应条件后,退出,返回结果.说了一大堆,不过直接上代码: test_list = [1,[2,[3,[4,[5,[6,[7,[8,[9,[10,[11,[12,[13,[14,]]]]]]]]]]]]]] res = 0 def sum_list(test_list, res): f

python——函数 20、三元表达式、列表推导式、生成器表达式

1.三元表达式 # 什么是三元表达式 三元:三个元素 x=1 y=2 if x>y: print(x) else : print(y) # 变为三元表达式: hhh=x if x>y else y print(hhh) # 简单明了 ———————————————————————————————————— def max2(x,y): if x>y: return x else : return y print(max2(1,5)) # 变为三元表达式: def max2(x,y): r

三元表达式、列表推导式、生成器表达式

一.三元表达式的使用 name = 'alex' age = 20 if name == 'alex' else 22 print(age) 二.列表推导式(声明式编程) l = ['alex%s' %i for i in range(10) if i > 5] print(l) 三.生成器表达式 ball = ('球%s' %i for i in range(10)) print(ball) print(next(ball)) print(list(ball)) 原文地址:https://ww