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)

运行结果:

比较:

  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)生成器推导式:







爱折腾的小测试
原文地址:https://www.cnblogs.com/newsss/p/14467710.html