鱼C论坛

 找回密码
 立即注册
查看: 963|回复: 5

[已解决]一个list根据需求分成多个小的list要怎么做呢,有大佬帮忙解答下吗

[复制链接]
发表于 2020-4-14 14:40:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
例如:['Eth-Trunk0', 'Description:Python,', 'Eth-Trunk3', 'GigabitEthernet1/0/2', 'GigabitEthernet2/0/2', 'GigabitEthernet2/0/6', 'GigabitEthernet2/0/7', 'GigabitEthernet1/0/1', 'GigabitEthernet2/0/8', 'GigabitEthernet2/0/1', 'GigabitEthernet1/0/3', 'GigabitEthernet1/0/4', 'GigabitEthernet2/0/3', 'Eth-Trunk5', 'Description:Python,', 'Eth-Trunk10', 'Description:Python,', 'Eth-Trunk15', 'Description:Python,', 'Eth-Trunk20', 'Description:Python,']     这是一个list,想获得每2个Eth-Trunk之间的值,以及最后一个Eth-Trunk后面的值
最佳答案
2020-4-14 14:46:37
def split(iterable,func):
    temp=[]

    for i in iterable:
        if func(i):
            yield temp
            temp=[]
        else:
            temp.append(i)

    yield temp

tuple(split(['Eth-Trunk0', 'Description:Python,', 'Eth-Trunk3', 'GigabitEthernet1/0/2', 'GigabitEthernet2/0/2', 'GigabitEthernet2/0/6', 'GigabitEthernet2/0/7', 'GigabitEthernet1/0/1', 'GigabitEthernet2/0/8', 'GigabitEthernet2/0/1', 'GigabitEthernet1/0/3', 'GigabitEthernet1/0/4', 'GigabitEthernet2/0/3', 'Eth-Trunk5', 'Description:Python,', 'Eth-Trunk10', 'Description:Python,', 'Eth-Trunk15', 'Description:Python,', 'Eth-Trunk20', 'Description:Python,'],lambda x:x.startswith('Eth-Trunk')))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-14 14:46:37 | 显示全部楼层    本楼为最佳答案   
def split(iterable,func):
    temp=[]

    for i in iterable:
        if func(i):
            yield temp
            temp=[]
        else:
            temp.append(i)

    yield temp

tuple(split(['Eth-Trunk0', 'Description:Python,', 'Eth-Trunk3', 'GigabitEthernet1/0/2', 'GigabitEthernet2/0/2', 'GigabitEthernet2/0/6', 'GigabitEthernet2/0/7', 'GigabitEthernet1/0/1', 'GigabitEthernet2/0/8', 'GigabitEthernet2/0/1', 'GigabitEthernet1/0/3', 'GigabitEthernet1/0/4', 'GigabitEthernet2/0/3', 'Eth-Trunk5', 'Description:Python,', 'Eth-Trunk10', 'Description:Python,', 'Eth-Trunk15', 'Description:Python,', 'Eth-Trunk20', 'Description:Python,'],lambda x:x.startswith('Eth-Trunk')))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-14 14:56:09 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-16 16:36:03 | 显示全部楼层
本帖最后由 m823433263 于 2020-4-16 17:10 编辑

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-16 19:00:22 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-16 20:02:56 | 显示全部楼层

没事了,大佬,下午有个问题想请教您来着,后来自己解决了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 15:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表