【发布时间】:2021-07-27 15:45:51
【问题描述】:
我有字典:
resultDict = {"aaa10" : 10, "eee343", 88 ,"aaa15" : 40,"bbb60" : 10,"aaa13" : 80,"bbb60" : 10,"aaa30" : 50,"ccc99" : 100, "aaa56" : 10,"ccc67" : 10,"aaa78" : 40, "ddd78" :88 , "eee343" : 88 }
我想通过 dict 键自定义分组,前 3 个字母固定为模式。
愿望输出:
Group,1 # For Group-1 include eee* and ccc* pattern with value and so on
eee343, 88
eee100, 10
...
ccc*, <value>
Group,2
bbb* <value>
Group,3
ddd* <value>
aaa*, <value>
我的代码:
print("Group","1")
for key,value in resultDict.items():
if re.findall ("eee", key) or ("ccc", key):
print(key,value)
print("Group","2")
for key,value in resultDict.items():
if re.findall ("bbb", key):
print(key,value)
print("Group","3")
for key,value in resultDict.items():
if re.findall ("ddd", key) or ("aaa", key):
print(key,value)
但我有大约 10 个组,Dict 包含很多对,运行时间太长,代码也不好看。我在 python 中找到了最好的解决方案来做更快更好的方法!
提前致谢:)
【问题讨论】:
-
用您自己的话来说,您认为
re.findall ("ddd", key) or ("aaa", key)是什么意思?为什么?怎么样? -
@KarlKnechtel 用这个,找到图案并打印出来。
-
当代码
re.findall ("ddd", key) or ("aaa", key)运行时,你期望re.findall函数运行多少次?为什么?如何?用你自己的话来说,在 Python 中,or关键字是什么意思,它是如何工作的?
标签: python performance sorting