Python 给定一个项目,我如何计算该项目在列表中的出现次数,如果该项目未达到某些规定,我如何不打印该项目?

Python 给定一个项目,我如何计算该项目在列表中的出现次数,如果该项目未达到某些规定,我如何不打印该项目?,python,list,Python,List,假设你有一个列表,你希望列表中的每个项目都有两个“a”,不管大小写,两个“g”,也不管大小写。如何阻止python打印“aaGa”、“aGGG”等,但打印所有其他有两个“a”和“g”的项目 更新: 以下是当前正在打印的内容的示例: ['aAaA', 'aAaG', 'aAAG', 'aAGG', 'aAaA', 'aAag', 'aAAG', 'aAGg', 'aAaa', 'aAaG', 'aAaG', 'aAGG', 'aAaa', 'aAag', 'aAaG', 'aAGg', 'aAaA

假设你有一个列表,你希望列表中的每个项目都有两个“a”,不管大小写,两个“g”,也不管大小写。如何阻止python打印“aaGa”、“aGGG”等,但打印所有其他有两个“a”和“g”的项目

更新: 以下是当前正在打印的内容的示例:

['aAaA', 'aAaG', 'aAAG', 'aAGG', 'aAaA', 'aAag', 'aAAG', 'aAGg', 'aAaa', 'aAaG', 'aAaG', 'aAGG', 'aAaa', 'aAag', 'aAaG', 'aAGg', 'aAaA', 'aAaG', 'aAAG', 'aAGG', 'aAaA', 'aAag', 'aAAG', 'aAGg', 'aAaa', 'aAaG', 'aAaG', 'aAGG', 'aAaa', 'aAag', 'aAaG', 'aAGg', 'aAaA', 'aAaG', 'aAAG', 'aAGG', 'aAaA', 'aAag', 'aAAG', 'aAGg', 'aAaa', 'aAaG', 'aAaG', 'aAGG', 'aAaa', 'aAag', 'aAaG', 'aAGg', 'aAaA']
下面是一个它应该是什么样子的例子:

['aaGG', 'Aagg', 'AAGG', 'AaGG', 'aaGg', 'AAGg', 'AAgg', etc.]

我会使用正则表达式。这将打印列表中至少有2个
g
和2个
a
的所有项目

[i for i in lst if re.search(r'(?i)^(?=.*?a.*?a)(?=.*?g.*?g)', i)]
例如:

>>> lst = ["aaGa", "aGGG", 'aagg', 'gagar', 'Gttgata', 'GGGa', 'Agaa']
>>> [i for i in lst if re.search(r'(?i)^(?=.*?a.*?a)(?=.*?g.*?g)', i)]
['aagg', 'gagar', 'Gttgata']

我会使用正则表达式。这将打印列表中至少有2个
g
和2个
a
的所有项目

[i for i in lst if re.search(r'(?i)^(?=.*?a.*?a)(?=.*?g.*?g)', i)]
例如:

>>> lst = ["aaGa", "aGGG", 'aagg', 'gagar', 'Gttgata', 'GGGa', 'Agaa']
>>> [i for i in lst if re.search(r'(?i)^(?=.*?a.*?a)(?=.*?g.*?g)', i)]
['aagg', 'gagar', 'Gttgata']
编辑

如果你想让你的结果以列表的形式返回,就像在你的编辑中一样,只需把它全部放在一行

如果idx.lower().count(“a”)==idx.lower().count(“g”)==2,则打印[word\u列表中idx的idx]

print [i for i in test_list if re.findall(r"^(?=.*a.*a)(?=.*g.*g).*$",i)]
编辑

如果你想让你的结果以列表的形式返回,就像在你的编辑中一样,只需把它全部放在一行

如果idx.lower().count(“a”)==idx.lower().count(“g”)==2,则打印[word\u列表中idx的idx]

print [i for i in test_list if re.findall(r"^(?=.*a.*a)(?=.*g.*g).*$",i)]
您可以在此处使用
re
模块


您可以在此处使用
re
模块

一个示例和预期输出会更好。好了@avinashraja您是否尝试进行精确计数?是否要匹配此
aaGGg'?
一个示例和预期输出会更好。好了@avinashraja您是否尝试进行精确计数?是否要匹配此值
aaGGg'?
您可以通过删除
2和
(对于形式
a==b==c
)来链接等式。你说得对,编辑了答案。谢谢你的评论:)多谢多尔·罗恩和@TigerhawkT3。你的答案都很有帮助。不过我还有一个问题:当我打印它时,它可能打印50倍。这是为什么?我能做些什么来防止它?你是说当你打印它的速度较慢时?你可以通过删除
2和(形式为
a==b==c
)。你是对的,编辑了答案。谢谢你的评论:)非常感谢Dor Ron和@TigerhawkT3。你的答案都非常有用。不过我还有一个问题:当我打印它时,它可能打印50倍。这是为什么?我能做些什么来防止它?你的意思是当你打印的速度较慢时?