m823433263 发表于 2020-4-14 14:40:40

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

例如:['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')))

m823433263 发表于 2020-4-14 14:56:09

永恒的蓝色梦想 发表于 2020-4-14 14:46


学习了,感谢大佬!{:10_257:}

m823433263 发表于 2020-4-16 16:36:03

本帖最后由 m823433263 于 2020-4-16 17:10 编辑

永恒的蓝色梦想 发表于 2020-4-14 14:46

永恒的蓝色梦想 发表于 2020-4-16 19:00:22

m823433263 发表于 2020-4-16 16:36


???

m823433263 发表于 2020-4-16 20:02:56

永恒的蓝色梦想 发表于 2020-4-16 19:00
???

没事了,大佬,下午有个问题想请教您来着,后来自己解决了。{:5_109:}
页: [1]
查看完整版本: 一个list根据需求分成多个小的list要怎么做呢,有大佬帮忙解答下吗