Python3 解压序列 *的妙用

以几个小实例来说明
实例1:输入一个整数序列,计算去掉一个最高分去掉一个最低分之后的平均分数

import numpy as n
#Python3 中的input默认接收的是字符串
grades=input('请输入分数:').split()
#将分割后的字符串转成整型,菜鸟,不知道有没有更好的办法,暂且这么写
for i in range(0,len(grades)):
    grades[i]= int(grades[i])

# print(grades)
grades.sort()
gmin,*gmiddle,gmax=grades# 用*gimiddle可以表示gmin和gmax之间的序列
print(n.mean(gmiddle))

实例1运行结果
实例2:

tuplelist = [
    ('foo', 2, 3),
    ('bar', 'xiaoming:nihao:xianzaijidianle:nichilema:jiajia'),
    ('foo', 4, 5)
]
def go_foo(x,y):
    print('x=%d, y=%d' %(x, y))
def go_bar(s):
    print('s = %s ' %s)
# *+变量名可以统一表示参数数量不定的情况
for tag, *args in tuplelist:
    if tag == 'foo':
        go_foo(*args)
    if tag == 'bar':
        go_bar(*args)
        user = args
name1,*_,name2 = user[0].split(':')#可以将没用的片段保存到废弃变量中
print(name1,name2)

实例2运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值