关于列表中正则表达式用法的一个简单问题



我在下面的列表中有一个名为"list_all"的列表,我正在寻找下面的单词"c"。第二个列表中没有"c"。下面的代码给出的结果是['c','c'],但我希望['c','c']的长度与'list_all'的长度相同。你能帮我一下如何把空元素放在结果中吗。

import re
list_all = [['a','b','c','d'],['a','b','d'],['a','b','c','d','e']]

listofresult =[]
for h in [*range(len(list_all))]:
for item in list_all[h]:
patern = r"(c)"
if re.search(patern, item):
listofresult.append(item)
else:
None

print(listofresult)

尝试这个

import re
list_all = [['a','b','c','d'],['a','b','d'],['a','b','c','d','e']]
temp = True
listofresult =[]
for h in range(len(list_all)):
for item in list_all[h]:
patern = r"(c)"
if re.search(patern, item):
listofresult.append(item)
temp = False
if temp:
listofresult.append("")
temp = True
print(listofresult)

这是regex的一种不同寻常的用法!但如果你坚持,这个修正可能会有所帮助:

import re
list_all = [['a', 'b', 'c', 'd'], ['a', 'b', 'd'], ['a', 'b', 'c', 'd', 'e']]
list_of_result = []
for h in list_all:
result = ''
for item in h:
pattern = r"(c)"
if re.search(pattern, item):
result = item
break
if result:
list_of_result.append(result)
else:
list_of_result.append('')
print(list_of_result)

相关内容

  • 没有找到相关文章

最新更新