关于python:按字符串从列表中选择项

Select item from list by string

本问题已经有最佳答案,请猛点这里访问。

考虑这个列表:

1
2
l1 = ['Bio:PRJNA57967', 'Assembly:GCF_000007805.1']
l2 = ['Bio:PRJNA224116', 'Sample:SAMN07158965', 'Assembly:GCF_002318635.1']

不考虑"assembly"总是在最后一个位置,我想检索这个值。

与选择最后一个元素l[-1]不同,我需要一些建议,如果"assembly"位于列表的另一个位置,我可以在哪里找到它。

我的命令包括以下行:

1
2
3
for i in l:
    if i.contains('Assembly'):
        print i

要跳过循环,是否可以使用循环来定义变量以搜索要使用的元素?这样地:

1
name = ( i for i in dbxrefs  and i.startswith('Assembly:'))


您可以使用in进行包含检查:

1
2
if 'Assembly' in i:
    print i

但是,从您的样本数据来看,您可能更具体:

1
2
if i.startswith('Assembly'):
    print i

如果要排除其他Assembly...:xxx字符串:

1
2
if i.startswith('Assembly:'):
    print i

如果要查看特定字符串是否使用"in"

例子:

1
2
3
4
l = ['Bio:PRJNA57967', 'Assembly:GCF_000007805.1']
for i in l:
    if 'Assembly' in i:
        print(i)

产量

1
Assembly:GCF_000007805.1