总结的题1

第一次

list()
print(list)

创建空列表 <class ‘list’>

list01=list(["张三","李四","王五","赵六","张三"])
print(list01)

添加5个元素 [‘张三’, ‘李四’, ‘王五’, ‘赵六’, ‘张三’]

list01[1]="theshy"
print(list01)

修改第2个元素 [‘张三’, ‘theshy’, ‘王五’, ‘赵六’, ‘张三’]

list01.insert(1,"小智")
print(list01)

在第2个位置增加一个元素 [‘张三’, ‘小智’, ‘theshy’, ‘王五’, ‘赵六’, ‘张三’]

list01.remove("张三")
print(list01)

删除某个元素第一次出现 [‘小智’, ‘theshy’, ‘王五’, ‘赵六’, ‘张三’]

list01.pop(3)
print(list01)

删除第3位置的元素 [‘小智’, ‘theshy’, ‘王五’, ‘张三’]

list01.append("0")
print(list01)

新增数字0 [‘小智’, ‘theshy’, ‘王五’, ‘张三’, ‘0’]

a=list01.index("0")
print(a)

返回数字0所在的索引 4

print(len(list01))

列表的长度 5

print(max(list01))

列表中最大元素 王五

list01.clear()
print(list01)  

清空列表 []

第二次

创建空字典d

d= dict()
print(d)  #{}

新增2个键值对元素

a={"小智":34,"theshy":19}
d.update(a)
print(d)  #{'小智': 34, 'theshy': 19}

修改第2个元素

d["小智"]= 38
print(d) #{'小智': 38, 'theshy': 19}

判断字符"c"是否是d的建

print("c" in d)  #False

计算d的长度

print(len(d)) #2

清空d

print(d.clear())  #None

第三次

定义两个集合

set01={1,2,3,4,5,6}
set02={2,5,8,4,1}

查看set01的长度

print(len(set01)) #6

复制一个set02

a=set02.copy()
print(a) #{1, 2, 4, 5, 8}

求set01和set02的并集

print(set01 | set02) #{1, 2, 3, 4, 5, 6, 8}

求set01和set02的交集

print(set01 & set02) #{1, 2, 4, 5}

求set01和set02的差集

print(set01 - set02) #{3, 6}

求set01和set02的补集

print(set01 ^ set02) #{3, 6, 8}

删除元素8

set02.discard(8)
print(set02) #{1, 2, 4, 5}

添加元素6

set02.add(6)
print(set02) #{1, 2, 4, 5, 6}

判断set02是否是set01的子集

print(set02 < set01) #True

第四次

def ts(list01):
    for i in list01:
        yield i**2
list01=[1,2,3,4,5]
print(list(ts(list01)))
  
def xxy(list02):
    for i in list02:
        yield i%2
list02=[1,2,3,4,5] 
print(list(xxy(list02))) 

第五次

def func_add(x,**y):
    sum01 = x
    for k,v in y.items():
        print(k,v)
        sum01 *= v
    return sum01

print(func_add(1,a=2,b=4,c=1,d=3)) #24

list01=[1,2,3,4,5,6] 
a= {i//2 for i in list01}
print(a)
print(type(a))

第六次

1

studentStringList = ['张三,男,20', '李四,男,22', '周梅,女,19', '王五,男,19', '吴兰,女,21'] 

2.1 遍历 list,分割字符串,生成 Tuple(‘张三’, ‘男’, 20)

def createTuple(text):
    textList = text.split(',')
    return tuple(textList)
studentTupleList = list(map(createTuple, studentStringList))
print(studentTupleList) #[('张三', '男', '20'), ('李四', '男', '22'), ('周梅', '女', '19'), ('王五', '男', '19'), ('吴兰', '女', '21')]
a=map(lambda studentStringList:studentStringList.split(','),studentStringList)
print(list(a)) #[['张三', '男', '20'], ['李四', '男', '22'], ['周梅', '女', '19'], ['王五', '男', '19'], ['吴兰', '女', '21']]

2

list01 = [1,2,-3,4,5,-6,8,-2,9]
def fun(x):
    if x>0:
        return x+1
    else:
        return x*2
a = map(fun,list01)
print(list(a)) #[2, 3, -6, 5, 6, -12, 9, -4, 10]
list01 = [1,2,-3,4,5,-6,8,-2,9]
b=map(lambda x:x+1 if x>0  else x*2,list01)
print(list(b)) #[2, 3, -6, 5, 6, -12, 9, -4, 10]

3

定义一个列表,里面是字典类型,是每一个学生的成绩

list01 = [{"语文":20,"数学":80,"英语":10,"总分":110},{"语文":50,"数学":30,"英语":90,"总分":170},{"语文":80,"数学":90,"英语":90,"总分":260},
          {"语文":10,"数学":0,"英语":0,"总分":10},
          {"语文":30,"数学":60,"英语":60,"总分":150}]

按照总成绩进行降序排序

def func_zf(list01):
        zf01=list01["总分"]
        return zf01
a=sorted(list01,key=func_zf,reverse=True)
print(a) 
#[{'语文': 80, '数学': 90, '英语': 90, '总分': 260}, {'语文': 50, '数学': 30, '英语': 90, '总分': 170},{'语文': 30, '数学': 60, '英语': 60, '总分': 150},
#{'语文': 20, '数学': 80, '英语': 10, '总分': 110},
#{'语文': 10, '数学': 0, '英语': 0, '总分': 10}]

第七次

import inspect
#装饰器
def is_root(quanxian):    
        #通过闭包函数进行传参
        def func(name):
            #获取名字name,{"name":"xxy"}
            inspect_name=inspect.getcallargs(quanxian,name)
            #判断用户name是不是root
            #字典.get(key) 可以根据key获取value
            if inspect_name.get("name")=="root":
               return quanxian(name)
            else:
               print("虽然你是银行行长,但是你没有权限")
        return func

@is_root
def quanxian(name):
        #前提是name=root,你得有root权限
        print("如果你是银行行长,那你就可以随意使用钱")

调用

quanxian("xxy") #虽然你是银行行长,但是你没有权限
quanxian("root") #如果你是银行行长,那你就可以随意使用钱
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值