python-推导式

一。命名元组
from collections import namedtuple
Student = namedtuple("student", ['name', 'age', 'gender'])
tu2 = Student('小明', '17', '男')
tu1 = Student('11', '22', '33')
print(tu2.age)
print(tu1.name)
运行结果:

 

 


二。推导式
  --列表推导式:
  --字典推导式:
  --生成器推导式:
1)列表推导式
  """"完成100以内的列表存储,类似与这样的[python1,python2,...python99]"""
一般实现方法:
li=[]
for i in range(100):
value="python{}".format(i)
li.append(value)
print(li)
运行结果:

 

 

 使用方法一:推导式实现方法:

li2= ["python{}".format(i) for i in range(100)]
print(li2)

运行结果:

 

使用方法二:结合三目运算符使用:

  li2 = [True if i%2 == 0 else False for i in range(100)]

  print(li2)

 

 

 

 

 

 

比较:

  1.代码更精简了

  2.推倒式,把后面符合条件的结果放置到前方

  例如:我想计算出100以内所有偶数,并以[python0,python2...]展示出来

  li3= ["python{}".format(i) for i in range(100) if i % 2 == 0]
  print(li3)

  运行结果:

  

 

 

  解析:for i inrange(100) 遍历出1-99的数字并返回i给后方 判断条件运行,运行后满足 返回 i,不满足不返回。

2)字典推导式

  """

  把dic变为字典,例如dic={"JSESSIONID":"9C18421BAC772E2EC9AE9152575CC435",...}

dic="JSESSIONID=9C18421BAC772E2EC9AE9152575CC435;Hm_lvt_766ee6e6a00b564a250208265ca36e29=1614593292;sid=03a10642-f8d9-4ef0-8d86-5f894d5f7fda"

"""

传统方法:与列表类似这里不做演示


推导式做法:
dic_1={i.split("=")[0]:i.split("=")[1] for i in dic.split(";")}
print(dic_1)

运行结果:

 

 


3)生成器推导式:


 






posted @ 2021-03-02 10:38  1142783691  阅读(73)  评论(0编辑  收藏  举报