weixin_46025415
weixin_46025415
采纳率72.7%
2020-08-11 15:07

我想对列表元素按指定元素切分,这个问题该怎么办?

list1 = ['A', 'B', 'C', 'D', 'F', 'A', 'B', 'C', 'E', 'D', 'F', 'A', 'B', 'D', 'F', 'A', 'C', 'B', 'D', 'F', 'A', 'C', 'D', 'F', 'A', 'C', 'E', 'D', 'F']


把list1变成下面list2这样,按A和F作为列表的开头和结尾,请问该怎么做?

list2 = [['A', 'B', 'C', 'D', 'F'],
['A', 'B', 'C', 'E', 'D', 'F'], 
['A', 'B', 'D', 'F'], 
['A', 'C', 'B', 'D', 'F'],
['A', 'C', 'D', 'F'],
['A', 'C', 'E', 'D', 'F']]
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • jingluan666 jingluan666 9月前
    list1 = ['A', 'B', 'C', 'D', 'F', 'A', 'B', 'C', 'E', 'D', 'F', 'A', 'B', 'D', 'F', 'A', 'C', 'B', 'D', 'F', 'A', 'C', 'D', 'F', 'A', 'C', 'E', 'D', 'F']
    
    list2=[]
    
    for i in list1:
        if i=='A':
            arr = []
        elif i=='F':
            list2.append(arr)
    
        arr.append(i)
    
    print(list2)
    
    点赞 1 评论 复制链接分享
  • as_csdn 代码的灵魂是bug! 9月前
    from itertools import groupby
    data = ['A', 'B', 'C', 'D', 'F', 'A', 'B', 'C', 'E', 'D', 'F', 'A', 'B', 'D', 'F', 'A', 'C', 'B', 'D', 'F', 'A', 'C', 'D', 'F', 'A', 'C', 'E', 'D', 'F']
    
    result = []
    # 其中data是我们需要分割的列表,x=='F'是我们以那个元素分割
    a = groupby(data, lambda x:x=='F')
    for k,g in a:
        if not k:
            b = list(g)
            b.append('F')
            result.append(b)
    print(result)
    
    点赞 2 评论 复制链接分享

相关推荐