找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2324|回复: 2

[求助] 求大神指点一下这个list该怎么操作,感激不尽!

1

主题

5

帖子

5

积分

贫民

积分
5
stecheer 发表于 2019-2-13 15:21:31 | 显示全部楼层 |阅读模式
有这样一个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,或者list3的索引为list2


    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
    d=0
    for i in range(len(list1)-1):
        if list1[0]==list1[i+1][0]:
            list3.append(list1[1])
            i=i+1
        elif list1[0]!=list1[i+1][0]:
            list2.append(list1[0])
            i=i+1
         

这样得出的list3=[1,2,4,10,2,4,7,1,3,11,14......]  求大神指点

回复

使用道具 举报

1

主题

17

帖子

17

积分

贫民

积分
17
蓝桥玄霜 发表于 2019-2-16 17:42:20 | 显示全部楼层
  1. list1=[['a',1],['a',2],['a',4],['a',10],['b',2],['b',4],['b',7],['c',1],['c',3],['c',11],['c',14]]
  2. list2 = []
  3. list3 = []
  4. d={}
  5. for aa in list1:
  6.     if not aa[0] in d:
  7.         d[aa[0]]=str(aa[1])
  8.     else:
  9.         d[aa[0]]=d[aa[0]] +','+ str(aa[1])
  10. list2=d.keys()
  11. list3=d.values()
复制代码

list1中的abc不是变量,是字符串
求不重复值用字典比较好。
回复 支持 反对

使用道具 举报

0

主题

5

帖子

5

积分

贫民

积分
5
better莫 发表于 2019-6-20 16:36:28 | 显示全部楼层
  1. list1 = [['a',1], ['a',2], ['a',4], ['a',10], ['b',2], ['b',4], ['b',7], ['c',1], ['c',3], ['c',11], ['c',14]]
  2. list2 = [i for i in sum(list1,[]) if str(i).isdigit()]
  3. z = {i for i in sum(list1,[]) if str(i).isalpha()}
  4. list3=[]
  5. for i in z:
  6.     l=[]
  7.     for j in list1:
  8.         if i in j:l.append(j[-1])
  9.     list3.append(l)
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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