注册 登录
编程论坛 Python论坛

刚接触Python,如何操作list1这个列表达到list2和list3的效果

stecheer 发布于 2019-02-13 16:02, 1700 次点击
python有这样一个list1=[[a,1],[a,2],[a,4],[a,10],[b,2],[b,4],[b,7],[c,1],[c,3],[c,11],[c,14]......],怎样整理成list2=[a,b,c......]和list3=[[1,2,4,10],[2,4,7],[1,3,11,14]......]这种形式的list,或者list2作为list3的索引


    list1=[[a,1],[a,2],[a,4],[a,10],[b,2],[b,4],[b,7],[c,1],[c,3],[c,11],[c,14]......]
    list2=[]
    list3=[]
    i=0
    for i in range(len(list1)-1):
        if list1[i][0]==list1[i+1][0]:
            list3.append(list1[i][1])
            i=i+1
        else list1[i][0]!=list1[i+1][0]:
            list2.append(list1[i][0])
            i=i+1
         

这样得出的list3=[1,2,4,10,2,4,7,1,3,11,14......]  求大神指点!
3 回复
#2
stecheer2019-02-13 16:14
求论坛里的大神指点一下
#3
stecheer2019-02-13 16:51
求大神解答,困扰一个下午了,没想到办法
#4
wei_ai_lu2019-02-15 17:58
list2=[]
list3=[]
list_item=[]
for i in range(len(list1)-1):
    list_item.append(list1[i][1])
    if list1[i][0]!=list1[i+1][0]:
        list3.append(list_item)
        list_item=[]
        list2.append(list1[i][0])
list2.append(list1[i][0])
list_item.append(list1[i+1][1])
list3.append(list_item)
//建议多个变量来记录list1[*][0],循环从1-最后

1