Python 在列表中插入数字
我有一本有序字典,如下所示:Python 在列表中插入数字,python,python-2.7,insertion,Python,Python 2.7,Insertion,我有一本有序字典,如下所示: source =([('a',[1,2,3,4,5,6,7,11,13,17]),('b',[1,2,3,12])]) 我想先计算每个键的值的长度,然后计算它的sqrt,假设它是L 将L插入可以无余数分割的位置,并在其他数字后插入“1” 例如,source['a']=[1,2,3,4,5,6,7,11,13,17]它的长度是9。 因此len(source['a'])的sqrt为3 在可以被3精确分割的位置插入数字3(例如位置3、位置6、位置9)。如果数字的位置不能
source =([('a',[1,2,3,4,5,6,7,11,13,17]),('b',[1,2,3,12])])
我想先计算每个键的值的长度,然后计算它的sqrt
,假设它是L
将L插入可以无余数分割的位置,并在其他数字后插入“1”
例如,source['a']=[1,2,3,4,5,6,7,11,13,17]
它的长度是9。
因此len(source['a'])
的sqrt为3
在可以被3精确分割的位置插入数字3(例如位置3、位置6、位置9)。如果数字的位置不能被3精确分割,则在后面插入1
要获得如下结果:
result=([('a',["1,1","2,1","3,3","4,1","5,1","6,3","7,1","11,1","13,3","10,1"]),('b',["1,1","2,2","3,1","12,2"])]
我不知道如何将列表中的项更改为字符串对。顺便说一句,这不是我的家庭作业,我试图构建一个布尔检索引擎,源数据太大,所以我在这里创建了一个简单的示例来解释我想要实现的目标:)由于这似乎是一个家庭作业,我将尝试帮助您解决您面临的问题 我不知道如何将列表中的项更改为字符串对 由于整个列表都需要更新,因此最好重新创建它,而不是就地更新它,尽管列表可能是可变的 考虑一份清单
lst = [1,2,3,4,5]
要将其转换为字符串列表,可以使用列表理解
lst = [str(e) for e in lst]
您也可以使用内置的map
作为map(str,lst)
,但是您需要记住,在Py3.X中,map返回一个map对象,因此需要相应地处理它
理解中的条件最好用条件陈述来表达
<TRUE-STATEMENT> if <condition> else <FALSE-STATEMENT>
包括列表的任何序列的长度都可以通过内置
您可以使用具有分数幂的运算符**
,或者使用数学
模块并调用sqrt
函数来计算平方根
现在,您只需结合上述建议来解决您的问题。如果这是一个标准Python字典,则不需要订购。你需要使用collections.OrderedDict(也许你会?)。向我们展示你的尝试或你认为可能解决问题的方法总是一个好主意,即使你完全错了。
"{},{}".format(a,b)