您的位置:首页 > 编程语言 > Python开发

python学习笔记--实用技巧之可迭代对象的元素分解

2017-09-24 10:23 1001 查看

可迭代对象的元素分解

使用*表达式可以快速解决此类问题,例如有整型列表lista,现需要去掉最高分和最低分之后求平均值,代码可以这样实现:

lista=[12, 10, 8, 4, 6, 18, 14, 0, 16, 2]
lista.sort()
minn,*rec,maxn=lista
print(rec,sum(rec)/len(rec))
# [2, 4, 6, 8, 10, 12, 14, 16] 9.0

即 将最小值赋予minn,最大值赋予maxn,其余赋予rec(rec此时是列表),再求rec均值即可。
在循环中的应用如下:

person=[('name','hilary'),('phone',18861821111,18861822222),('addr','shuangliu,chengdu,sichuan')]
for tag,*rec in person:
if tag=='phone':
for i in range(len(rec)):
print(rec[i])
# 18861821111 18861822222

在字符串中的应用如下:
pos='D:\SOFTWARE\VisualStudio\Common7\IDE\en'
disk,*folder=pos.split('\\')
print(disk,folder)
# D: ['SOFTWARE', 'VisualStudio', 'Common7', 'IDE', 'en']

丢弃一些变量,例如:
record=('hilary','45kg','158cm',(7,28,1994))
name,*_,(*_,year)=record
print(name,year)
# hilary 1994
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python