如果列表中的项目存在:做的事情

emm*_*ras 0 python regex indexing

假设我有列表,我已经编辑了所以它不再被称为"列表"了

my_list = ['a b', 'b c d e', 'c', 'd e f g h', 'e f g h i j', 'f g h', 'g h']
Run Code Online (Sandbox Code Playgroud)

我试图检查列表中的特定元素,并查看其中一个元素是否包含某个字符串.我一直在使用以下代码的内容:

for i in range(len(my_list)):
    splitList = my_list[i].split(' ')
    if splitList[3] == "c":
        print "True"
    else:
        print "False"
Run Code Online (Sandbox Code Playgroud)

但我真正想做的是检查splitList [3]是否存在,如果确实存在,如果它=="c"或只是在元素中打印第3个"东西".(我在我的问题上是通用的,但我的实际数据是寻找一个特定的3个字符的字符串)我确定正则表达式可以解决我的所有问题,但我一直在寻找完美的正则表达式解决方案好几天而且不堪重负没有解决方案.我的数据是非常可预测的,我只需要检查列表元素中的第二个单词是否存在.

是否有一种简单的pythonic方法来检查列表是否在某个特定索引处有什么东西,以及它是否从那里开始?


如果你想建议一个正则表达式解决方案,我列表中的第24个元素总是"G#Abc"'''可以是1-12,然​​后第25个元素也可以是
"G#Abc","#"为1-12如果第25个元素的格式不是"G#Abc",那么元素和任何其他元素都不相关.如果格式为"G#Abc",我需要将该号码添加到新列表中.

Kat*_*iel 7

有些人在面对问题时会想"我知道,我会使用正则表达式".现在他们有两个问题.

relevant_elements = set()
for values in my_list:
    try:
        elt = values.split()[3]
    except IndexError:
        continue
    else:
        if is_correct_format(elt):
            relevant_elements.add(elt)
Run Code Online (Sandbox Code Playgroud)