在纯Python中尝试此代码。

首先检查最后两个字符,如果最后两个字符等于'am'或'pm',元素应该从列表中移除。

其次,它检查每个元素是否包含“:”,如果在元素中找到“:”,则检查“:”前后的字符。如果“:”前后的字符是数字,则元素将从列表中移除。这个想法支持数字|数字:数字和数字:数字|数字。在def removeElements(a):

removed_elements = []
L = len(a)
for i in range(L):
element = a[i]
if 'am' == element[-2:].lower() or 'pm' ==element[-2:].lower() :
removed_elements.append(element)
if ':' in element:
part1 = element.split(':')
part2 = element.split(':')
if part1[-1].isdigit() and part2[0].isdigit():
removed_elements.append(element)
output = []
for element in a:
if not(element in removed_elements):
output.append(element)
return output
a = ['abd', ' the dog', '4:45 AM', '1234 total', 'etc...','6:31 PM', '2:36']
output = removeElements(a)
print output

本例的输出为:

['abd'、'the dog'、'1234 total'、'etc…。]