选择并创建包含特定信息的新列表

时间:2014-06-10 16:08:14

标签: python list

EDIT2:没关系,有人指出了我的错误。感谢

首先,这是我的结果的一个例子

(172, 'Nucleus')
(172, 'Nucleus')
(472, 'Cytoplasm')
(472, 'Cytoplasm')
(472, 'Nucleus')

我想要做的是匹配第一个数字(位置0),然后查看是否有一部分单词" nucleus" (在这里,它将是" nuc")可能会发生在每个数字中只有单词有核心。

我试图制作2个列表:第一个列表只是仅包含" nuc"字。第二个列表将包含nuc和其他东西(如我的例子中的细胞质)

这只是我结果的一小部分。

我没有代码的例子,因为我真的不知道如何在列表中只包含我的查询的一个valor(如示例,我将两次输入数字172)(oops i现在有一个代码示例)

编辑:oops写道,在我编写代码之前我试过......

现在,我的代码看起来像这样:

这是我如何让我的榜样更高一点
    def number1(self, position):
        self.position = position
        List = [self.name()]
        for item in List:
            for i in range(position, self.c.rowcount):  
                self.number(i)



def separate_list(self, list_signal):
        nuc_list = []
        not_nuc_list = []
        for i in list_signal:
            print(list_signal(i))
            if list_signal(i)(0) == list_signal(i+1)(0):
                if list_signal(i)(1) and list_signal(i+1)(1) == re.search("nuc"):
                    nuc_list.append(list_signal(i))
                else:not_nuc_list.append(list_signal(i))
        return nuc_list and not_nuc_list
dc = connection()

dc.separate_list(dc.number1(0))

错误:

Traceback (most recent call last):
  File "class vincent.py", line 91, in <module>
    dc.separate_list(dc.number1(0))
  File "class vincent.py", line 61, in separate_list
    for i in list_signal:
TypeError: 'NoneType' object is not iterable

我知道这不可爱,我试着以最好的方式做到这一点..(新的python和编程本身)

EDIT2:没关系,有人指出了我的错误。感谢

1 个答案:

答案 0 :(得分:0)

一些事情,如果你想要获得索引,如你所说,列表的位置0,你可以使用list_name[0],如果你使用位置进行排序,use a different method

(172, 'Nucleus') ... (172, 'Nucleus')元组还是他们自己的列表?列表你可以使用[0]方法使用索引,元组你可以将它分配给两个变量来处理数据number, cell_type = (172, 'nucleus')

此外,目前dc.number1没有返回任何内容,因此它无法用于输入另一个功能。添加某种返回或更改您正在使用的内容作为self.number正在修改的输入。

您可能需要列出所有结果,例如: [(172, 'Nucleus'), ...(172, 'Nucleus')]然后您可以使用

进行迭代
for item in results_list:
     for number, cell_type in item:
         print str(number), cell_type
#Should give you "172 Nucleus"