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

Python 选择并创建包含特定信息的新列表,python,list,Python,List,EDIT2:不管怎样,有人指出了我的错误。谢谢 首先,这是我得到的结果的一个例子 (172, 'Nucleus') (172, 'Nucleus') (472, 'Cytoplasm') (472, 'Cytoplasm') (472, 'Nucleus') 我想做的是匹配第一个数字的位置0,然后看看这里是否有单词nucleus的一部分,它可能是nuc,在每个数字中,只有单词有nucleus 我试着做两个列表:第一个列表是只包含nuc单词的数字。在我的示例中,第二个列表将包含那些具有nuc和其

EDIT2:不管怎样,有人指出了我的错误。谢谢

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

(172, 'Nucleus')
(172, 'Nucleus')
(472, 'Cytoplasm')
(472, 'Cytoplasm')
(472, 'Nucleus')
我想做的是匹配第一个数字的位置0,然后看看这里是否有单词nucleus的一部分,它可能是nuc,在每个数字中,只有单词有nucleus

我试着做两个列表:第一个列表是只包含nuc单词的数字。在我的示例中,第二个列表将包含那些具有nuc和其他类似细胞质的内容

这只是我结果的一小部分

我没有代码示例,因为我真的不知道如何在列表中只包含我的查询的一个值,就像示例中一样,我会输入数字172两次oops我现在有一个代码示例

编辑: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:不管怎样,有人指出了我的错误。谢谢,如果你想得到索引,如你所说的列表的位置0,你会使用列表名称[0],如果你用位置排序

它们是“核”。。。172,“Nucleus”元组还是它们自己的列表?列表可以使用index和[0]方法,元组可以将其分配给两个变量,以处理数字、单元格类型=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"

我不太清楚你想做什么。你有一个列表['nuc'],你想过滤另一个列表,它由元组组成,基于'nuc'是否是元组中第二个元素的子字符串?好的,第一行代码在顶部给出了一个示例,我试图选择元组的第二个元素中只有“nuc”部分的匹配数字,并将其放入第一个列表中。然后,在另一个列表中,我会列出所有包含“nuc”的东西,这里的其他东西示例是细胞质DC.number10没有得到任何东西。试着把它打印出来,然后把它弄乱,直到它给你一个某种类型的列表,如果这是你的想法,你可以迭代。现在还不太清楚你想在dc做什么。number1dc.number10给了我所有的信号类型的蛋白质。我想做的是在上面使用我的“单独列表”。是的,我会试着用印刷品。。好主意,感谢上帝,我太坏了。我在这个函数中使用了另一个函数,并没有返回所有内容。好的。谢谢