什么做网站统计好,免费简历制作网站推荐,wordpress 中文论坛,深圳狮科网站建设1.1.如何在列表中根据条件筛选数据# 1.1.如何在列表中根据条件筛选数据
data [-1, 2, 3, -4, 5]
#筛选出data列表中大于等于零的数据
#第一种方法#xff0c;不推荐
res1 []
for x in data:
if x 0:
res1.append(x)
print(res1)
#第二种用列表解析#xff0c;推荐使用…1.1.如何在列表中根据条件筛选数据# 1.1.如何在列表中根据条件筛选数据
data [-1, 2, 3, -4, 5]
#筛选出data列表中大于等于零的数据
#第一种方法不推荐
res1 []
for x in data:
if x 0:
res1.append(x)
print(res1)
#第二种用列表解析推荐使用
res2 [ x for x in data if x 0]
print(res2)
#第三种用filter函数
res3 list(filter(lambda x : x 0,data))
print(res3)
1.2.如何在列表中根据条件筛选数据# 1.2.如何在列表中根据条件筛选数据
from random import randint
#创建学生字典,学号为1~20分数为50~100随机
d {student%d% i: randint(50,100) for i in range(1,21)}
print(d)
#过滤出分数为90的学生字典
#第一种方法
d1 {k:v for k,v in d.items() if v 90}
print(d1)
#第二种方法
d2 dict(filter(lambda item:item[1] 90, d.items()))
print(d2)
1.3.如何在集合中根据条件筛选数据# 1.3.如何在集合中根据条件筛选数据
from random import randint
s {randint(0,20) for _ in range(20)}
print(s)
#筛选出能被3整除的数
s1 {x for x in s if x % 3 0}
print(s1)
1.4.如何为元祖中的每个元素命名提高程序可读性
如下元祖通过函数判断年龄和性别但是这样代码可读性很差别人并不知道student[1],student[2]代表什么意思。如何解决呢def func(student):
if student[1] 18 :
pass
if student[2] male:
pass
student (derek,22,male,111qq.com)
func(student)
方案一定义枚举类型#1.4..如何为元祖中的每个元素命名提高程序可读性
def func(student):
if student[1] 18 :
pass
if student[2] male:
pass
s1 (derek,22,male,111qq.com)
#第一种使用枚举
from enum import IntEnum
class StudentEnum(IntEnum):
NAME 0
AGE 1
SEX 2
EMAIL 3
print(s1[StudentEnum.NAME])
print(s1[StudentEnum.AGE])
方案二使用标准库中collections.namedtuple替代内置tuple#1.4..如何为元祖中的每个元素命名提高程序可读性
def func(student):
if student[1] 18 :
pass
if student[2] male:
pass
s1 (derek,22,male,111qq.com)
#第一种使用枚举
from enum import IntEnum
class StudentEnum(IntEnum):
NAME 0
AGE 1
SEX 2
EMAIL 3
print(s1[StudentEnum.NAME])
print(s1[StudentEnum.AGE])
#第二种使用标准库中collections.namedtuple替代内置tuple
from collections import namedtuple
Student namedtuple(student,[name,age,sex,email])
s2 Student(derek,22,male,222qq.com)
print(s2[0]) #derek
# 可以通过s2.name获取姓名
print(s2.name) #derek