如何在Python中对项进行配对,并将它们推送到另一个数组中的数组中
我正在发送一对数字作为POST请求的一部分,它看起来像这样:如何在Python中对项进行配对,并将它们推送到另一个数组中的数组中,python,arrays,Python,Arrays,我正在发送一对数字作为POST请求的一部分,它看起来像这样:/updateDB?id=001&numbers=1,2,3,4,5,6 在Python的服务器端,我使用以下方法获取这些参数: objectID = request.args.get('id') myNumbers = request.args.get('numbers') 我想将这些数字配对,并将它们放入各自的数组中,然后将这些数组放入另一个数组中 [ [1,2] [3,4] [5,6] ] 例如,我想将1和2、3和
/updateDB?id=001&numbers=1,2,3,4,5,6
在Python的服务器端,我使用以下方法获取这些参数:
objectID = request.args.get('id')
myNumbers = request.args.get('numbers')
我想将这些数字配对,并将它们放入各自的数组中,然后将这些数组放入另一个数组中
[
[1,2]
[3,4]
[5,6]
]
例如,我想将1和2、3和4、5和6配对,并将它们放入各自的数组中(总共3个数组)。完成后,我想将这3个数组放到另一个数组中
[
[1,2]
[3,4]
[5,6]
]
我试着写一个for循环来遍历myNumbers
:
for x in myNumbers:
print myNumbers(x)
但是我得到一个错误,unicode对象是不可调用的
。我猜这是因为数字之间有逗号
[list(pair) for pair in zip(myNumbers[::2], myNumbers[1::2])]
将产生您正在寻找的结构以下是Python 3的示例:
def pair_list(original_list):
new_big_list=[]
for i in range(0,len(original_list)-1, 2):
new_big_list.append([original_list[i],original_list[i+1]])
return new_big_list
if __name__ == '__main__':
test_list=[1,2,3,4,5,6]
print(pair_list(test_list))
输出将是:
[1,2],[3,4],[5,6]]
如果您使用的是Python 2.7,请将range更改为xrange,我想您的意思是
GET
request。无论如何,错误是因为您试图迭代string
unicode对象。您可以拆分args
像request.args.get('numbers').split(',')
@kiran.koduru谢谢,我正在研究它。@kiran.koduru不相关,但我在向数据库发送数据时不应该使用POST吗?是的。POST应该用于发送数据,但从您的回答来看,我认为它看起来像是说request.args.GET
。GET
引用附加到URL的URL参数。您应该创建一个
并添加
字段,以便通过post传递元素。这是一个很好的方法,但它可以将数字转换为字符串吗?可能是因为这些数字是以字符串形式发送的。@mapry您的myNumbers很可能是字符串。检查类型(MyNumber)
。如果它是一个字符串,如“1,2,3,4,5,6”,则必须按myNumbers进行拆分。拆分(',')
将生成一个字符串数组,即[“1”、“2”、“3”、“4”、“5”、“6”]。为了得到一个int数组,你必须将它们映射到一个int,例如map(int,myNumbers.split(',')
,然后使用这个答案中的方法,它们以unicode的形式发送,这样就可以在数字前面加上一个u
,比如:[[u'1',u'2'],[u'3',u'4'],[u'5',u'6']。我将尝试您建议的方法。因为数字是作为字符串发送的,所以在输出完成后,如何确保它们是int()或float()?我相信它适用于string、int和float。数据类型无关紧要。