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:')) |
您可以使用
1 2 | if 'Assembly' in i: print i |
但是,从您的样本数据来看,您可能更具体:
1 2 | if i.startswith('Assembly'): print i |
如果要排除其他
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 |