【发布时间】:2020-11-17 03:51:54
【问题描述】:
对于我正在处理的这个数据文件,我得到了一对列表,其中每个元素代表一个年龄间隔,但它们被写成字符串。例如,
List1 = ['0-9', '10-19', '20-29', '30-39', '40-49', '50-']
List2 = ['0-19', '20-39', '40-']
List1作为模板来表示对应数据的年龄区间:
A1 = [30, 40, 50, 60, 70, 80]
B1 = [33, 20, 40, 76, 777, 844]
因此,例如,A1 的第二个元素表示年龄区间“10-19”的值为 40,B1 的第五个元素表示区间“40-49”的值为 777。
由于 List1 和 List2 中的时间间隔匹配,可以将 A1 和 B1 中的元素相加,这样它们现在就代表 List2 的时间间隔。
A2 = [70, 110, 150]
B2 = [53, 116, 1621]
所以现在,例如,A2 的第二个元素(以前的 A1)代表年龄区间“20-39”的值 110,B2 的第一个元素(以前的 B2)代表区间“0-19”的 53 '。
List1 的数据已重新组合以匹配 List2 的年龄区间。这是可能的,因为重叠的年龄间隔。这不能用于表示以下两个年龄区间的数据:
List3 = ['0-14', '15-29', '30-44', '45-']
List4 = ['0-19', '20-39', '40-']
由于数据的格式,我不知道如何检查两个列表是否具有重叠的年龄区间,这允许重新组合数据以表示一组新的年龄区间。如果有人可以向我指出 python 中可用的方法或库,它能够使这样的任务成为可能,特别是处理表示为字符串的数字间隔,将不胜感激。谢谢。
【问题讨论】:
-
您可以通过
'0-9'.split('-')将'0-9'分隔成('0', '9')。这可能是你的起点。但我不明白你的情况的检查规则。你能解释一下细节吗? -
感谢您的评论。我将尝试更清楚地解释细节:每个列表都包含年龄间隔,如上所示。但是,对于我提供的每个列表,都有另一个列表与相应年龄间隔的数据相关联。因为可以对 List1 的元素求和以表示 Lists2 的年龄区间,所以 List1 的另一组数据也可以求和以匹配 List2 的年龄区间。 List3 和 List4 表示无法重新组合这些列表的其他数据的情况。
-
"如果 List1 的元素可以相加来表示 List2。"我不明白这是什么意思。这里的底层逻辑是什么?
-
@BoseongChoi 我已经更新了我的问题。如果有人仍然不清楚,请告诉我。谢谢。
-
@KarlKnechtel 如果问题现在清楚,请告诉我。谢谢。