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",我需要将该号码添加到新列表中.
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)
| 归档时间: |
|
| 查看次数: |
2304 次 |
| 最近记录: |