2 g mumuxi G_mumuxi 于 2016.03.02 15:06 提问

python中的list操作和计算,问大家解决这个问题的算法。叙述的不好,但真的不会>_<

有一个这样的列表,a = [[123, 233], [334, 342], ..........[123432,123444]]
情况是:数字从头到尾,后一个大于前一个,不管是123比233还是233与334这样的相对位置。

然后我有一个b = [x, y],其实x和y都是具体的数但不一定是多少,x >= 0, y >= 0,
我做的是:
如果x是小于123,y是大于123444,那最好,就用每个小列表后数减前数,再加起来OK。
可是x=234,y=23445,我就需要算334以后的列表了。而且,要是后面有[23320, 23440] [23446,24339],那我要算334以后的23440之前的。要是y = 23567那我就还要判断,把最终 [23446,24339],改成[23446, 23567],那么现在要算334以后的23567之前的。
就是讨论x和y到底落在哪个范围才能算,可是情况好多啊,落两个列表之间,起点是下一个下一个列表,落一个小列表里,直接替换始or终点了,总之就是xy之间的列表拿出来算总的,感觉超复杂,本人已晕~

1个回答

devmiao
devmiao   Ds   Rxr 2016.03.08 12:58
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!