我必须比较两个元组元素列表并结合元素本身的一些数学计算。
更准确地说,我有以下列表,list_1
的每个元组代表一个字符及其在文本 ex 中的频率。 ("a": "10)
,list_2
的每个元组代表一个二元组字符及其在同一文本中出现的频率,例如 ("a", “b”,“2”)
:
list_1=[("a","10"), ("b","5"), ("c","3"),("d","1")]
list_2= [("a", "b", "4"), ("b","c","1")]
我需要迭代两个列表,并且在 list_2
的字符与 list_1
的字符之间存在匹配的情况下,我的目标是使分析如下:
x= ("a","10")*("b","5")/("a","b","4")= 10*5/4
我希望我能清楚地解释问题......
最佳答案
试试这个,
list_1=[("a","10"), ("b","5"), ("c","3"),("d","1")]
list_2= [("a", "b", "4"), ("b","c","1")]
# Convert list_1 into a dict
d = {t[0]:int(t[1]) for t in list_1}
result = [d.get(t[0], 0)*d.get(t[1], 0)*1.0/int(t[2]) for t in list_2]
print(result)
#[12.5, 15.0]
关于Python 比较两个元组元素列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40930162/