【发布时间】:2019-06-25 12:15:07
【问题描述】:
我有一个类似的数组
[
{'name':'a'},
{'name':'b'},
{'name':'c'},
{'name':'d'},
{'name':'e'},
{'name':'f'}
]
数组长度是6,现在我想把它分成4个子数组,我希望结果会像
[
[
{'name':'a'},
{'name':'e'}
],
[
{'name':'b'},
{'name':'f'}
],
[
{'name':'c'}
],
[
{'name':'d'}
]
]
我可以用循环来做到这一点,我想知道有没有其他聪明的方法来做到这一点?
我的错,也许我没有说清楚这里是我的代码:
def uploadSheets(servers, sheets):
serverLen = len(servers.keys())
sheetsLen = len(sheets)
index = 0
count = int(cookieLen / serverLen)
left = int(sheetsLen % serverLen)
for key in servers.keys():
ip = servers[key]
remoteExecute(user=user, ip=ip, command='rm /home/pdd/sheets/*', passwd=passwd)
for j in range(count):
localPath = '../deploy/' + sheets[index * count + j]
remotePath = '/home/pdd/sheets/'
fileTransfer(localPath=localPath, ip=ip, user=user, destPath=remotePath, passwd=passwd)
index += 1
for i in range(left):
localPath = './deploy/' + sheets[index * count + i]
remotePath = '/home/pdd/sheets/'
ip = servers[list(servers.keys())[i]]
print('finish')
我有一组服务器,每天我都会将越来越多的文件上传到每个服务器而不会重复。并且有一种模式是文件名相互复制更好地发送到不同的服务器。
就像我有 101 个苹果,20 个篮子,我把苹果从 busket1 放到 busket20 的篮子里,最后,busket1 有 6 个苹果,其他有 5 个。
【问题讨论】:
-
你能解释一下里面的逻辑吗?
-
将元素组合在一起的标准是什么?为什么
a和e分组但c和d不分组? -
[ [arr[0],arr[4]], [arr[1],arr[5]], [arr[2]], [arr[3]] ] -
也许您应该在问题中包含循环代码,以便人们可以准确地看到您正在尝试做什么。我假设你有一些模式想要申请一个可变大小的输入数组,否则为什么还要使用循环呢?
-
列表和字典需要循环;这不是带有编译数组操作的
numpy(对于数值)。