一。命名元组
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)生成器推导式: