如何使用PYTHON访问列表/字符串中的信息

如何使用PYTHON访问列表/字符串中的信息,python,list,frequency,Python,List,Frequency,所以我有这个术语列表 [('GO:0090141', 1), ('GO:0030308', 1), ('GO:0000266', 1), ('GO:0016881', 1), ('GO:0031307', 1)] [('GO:0050681', 1), ('GO:0031491', 1), ('GO:0008270', 1), ('GO:0003677', 1), ('GO:0070936', 1)] [('GO:0050681', 1), ('GO:0031491', 1), ('GO:000

所以我有这个术语列表

[('GO:0090141', 1), ('GO:0030308', 1), ('GO:0000266', 1), ('GO:0016881', 1), ('GO:0031307', 1)]
[('GO:0050681', 1), ('GO:0031491', 1), ('GO:0008270', 1), ('GO:0003677', 1), ('GO:0070936', 1)]
[('GO:0050681', 1), ('GO:0031491', 1), ('GO:0008270', 1), ('GO:0003677', 1), ('GO:0070936', 1)]
[('GO:0050681', 1), ('GO:0031491', 1), ('GO:0008270', 1), ('GO:0003677', 1), ('GO:0070936', 1)]
[('GO:0016055', 1), ('GO:0016363', 1), ('GO:0008270', 1), ('GO:0003676', 1), ('GO:0003677', 1)]
[('GO:0016607', 1), ('GO:0016605', 1), ('GO:0006351', 1), ('GO:0005515', 1), ('GO:0016925', 1)]
[('GO:0045842', 1), ('GO:0000781', 1), ('GO:0019789', 1), ('GO:0007067', 1), ('GO:0007049', 1)]
[('GO:0016607', 1), ('GO:0016605', 1), ('GO:0006351', 1), ('GO:0005515', 1), ('GO:0016925', 1)]
[('GO:0006457', 1), ('GO:0019221', 1), ('GO:0000087', 1), ('GO:0010827', 1), ('GO:0042405', 1)]
[('GO:0003676', 1), ('GO:0008270', 1), ('GO:0019789', 1)]
[('GO:0019221', 1), ('GO:0050681', 1), ('GO:0019899', 1), ('GO:0008270', 1), ('GO:0003676', 1)]
[('GO:0008022', 1), ('GO:0019048', 1), ('GO:0019899', 1), ('GO:0016881', 1), ('GO:0045202', 1)]
[('GO:0008022', 1), ('GO:0019048', 1), ('GO:0019899', 1), ('GO:0016881', 1), ('GO:0045202', 1)]
[('GO:0016881', 1), ('GO:0016874', 1), ('GO:0019789', 1)]
我怎样才能得到一个列表只是“去”的信息 没有得到“1”…所以我只想要GO:000221,GO:000241,等等。。。
您还可以帮助我获取GO术语的频率…等等…例如GO:0008270…它在我的列表中出现了7次

您拥有的是一个由2个元组组成的
列表(GO:XXX,1)
)。上面的列表理解仅使用旧列表中每个元组的第一项(
GO:XXX
)构建新列表

看起来你有一大堆清单,而不仅仅是一张清单。我们能看更多你的代码吗


要计算代码的频率,您可以使用
集合。计数器
,也可以通过执行
list.count(item)
list\u of GO=[item[0]表示旧列表中的项目]

您拥有的是一个由2个元组组成的
列表(GO:XXX,1)
)。上面的列表理解仅使用旧列表中每个元组的第一项(
GO:XXX
)构建新列表

看起来你有一大堆清单,而不仅仅是一张清单。我们能看更多你的代码吗


要计算代码的频率,您可以使用
集合。Counter
或者您可以通过执行
列表来自己计算。count(item)
您有一些元组列表,因此您可以使用列表理解来提取每个元组的第二个元素(假设您的列表名为
l
):

一旦您有了
GO
术语的列表,您就可以使用,例如(参见)


您有一些元组列表,因此可以使用列表理解来提取每个元组的第二个元素(假设您的列表名为
l
):

一旦您有了
GO
术语的列表,您就可以使用,例如(参见)


假设数据设置为“行”,也就是说,您可以使用
集合
模块中的
计数器
对象

>>> from collections import Counter
>>> counter = Counter()
>>> data = [
        # Each row of data listed above
        [('GO:0090141', 1), ('GO:0030308', 1), ('GO:0000266', 1), ('GO:0016881', 1), ('GO:0031307', 1)],
        # Etc...
>>> for row in data:
...     counter.update(x[0] for x in row)
...
>>> print counter
Counter({'GO:0008270': 6, 'GO:0050681': 4, 'GO:0003677': 4, 'GO:0016881': 4, 'GO
:0019899': 3, 'GO:0031491': 3, 'GO:0003676': 3, 'GO:0070936': 3, 'GO:0019789': 3
, 'GO:0008022': 2, 'GO:0019221': 2, 'GO:0045202': 2, 'GO:0016607': 2, 'GO:001660
5': 2, 'GO:0019048': 2, 'GO:0016925': 2, 'GO:0006351': 2, 'GO:0005515': 2, 'GO:0
045842': 1, 'GO:0006457': 1, 'GO:0030308': 1, 'GO:0000266': 1, 'GO:0000087': 1,
'GO:0031307': 1, 'GO:0007067': 1, 'GO:0007049': 1, 'GO:0090141': 1, 'GO:0016363'
: 1, 'GO:0000781': 1, 'GO:0016874': 1, 'GO:0016055': 1, 'GO:0010827': 1, 'GO:004
2405': 1})

假设数据设置为“行”,也就是说,您可以使用
集合
模块中的
计数器
对象

>>> from collections import Counter
>>> counter = Counter()
>>> data = [
        # Each row of data listed above
        [('GO:0090141', 1), ('GO:0030308', 1), ('GO:0000266', 1), ('GO:0016881', 1), ('GO:0031307', 1)],
        # Etc...
>>> for row in data:
...     counter.update(x[0] for x in row)
...
>>> print counter
Counter({'GO:0008270': 6, 'GO:0050681': 4, 'GO:0003677': 4, 'GO:0016881': 4, 'GO
:0019899': 3, 'GO:0031491': 3, 'GO:0003676': 3, 'GO:0070936': 3, 'GO:0019789': 3
, 'GO:0008022': 2, 'GO:0019221': 2, 'GO:0045202': 2, 'GO:0016607': 2, 'GO:001660
5': 2, 'GO:0019048': 2, 'GO:0016925': 2, 'GO:0006351': 2, 'GO:0005515': 2, 'GO:0
045842': 1, 'GO:0006457': 1, 'GO:0030308': 1, 'GO:0000266': 1, 'GO:0000087': 1,
'GO:0031307': 1, 'GO:0007067': 1, 'GO:0007049': 1, 'GO:0090141': 1, 'GO:0016363'
: 1, 'GO:0000781': 1, 'GO:0016874': 1, 'GO:0016055': 1, 'GO:0010827': 1, 'GO:004
2405': 1})

这是你正在读的文件吗?或者是一个列表(元组)的对象。这是您正在读取的文件吗?或者是一个列表(元组)的对象。我想OP在
e[0]
之后,不是吗?我想OP在
e[0]
之后,不是吗?
>>> from collections import Counter
>>> counter = Counter()
>>> data = [
        # Each row of data listed above
        [('GO:0090141', 1), ('GO:0030308', 1), ('GO:0000266', 1), ('GO:0016881', 1), ('GO:0031307', 1)],
        # Etc...
>>> for row in data:
...     counter.update(x[0] for x in row)
...
>>> print counter
Counter({'GO:0008270': 6, 'GO:0050681': 4, 'GO:0003677': 4, 'GO:0016881': 4, 'GO
:0019899': 3, 'GO:0031491': 3, 'GO:0003676': 3, 'GO:0070936': 3, 'GO:0019789': 3
, 'GO:0008022': 2, 'GO:0019221': 2, 'GO:0045202': 2, 'GO:0016607': 2, 'GO:001660
5': 2, 'GO:0019048': 2, 'GO:0016925': 2, 'GO:0006351': 2, 'GO:0005515': 2, 'GO:0
045842': 1, 'GO:0006457': 1, 'GO:0030308': 1, 'GO:0000266': 1, 'GO:0000087': 1,
'GO:0031307': 1, 'GO:0007067': 1, 'GO:0007049': 1, 'GO:0090141': 1, 'GO:0016363'
: 1, 'GO:0000781': 1, 'GO:0016874': 1, 'GO:0016055': 1, 'GO:0010827': 1, 'GO:004
2405': 1})