Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中对项进行配对,并将它们推送到另一个数组中的数组中_Python_Arrays - Fatal编程技术网

如何在Python中对项进行配对,并将它们推送到另一个数组中的数组中

如何在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和

我正在发送一对数字作为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和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。数据类型无关紧要。