给出一个列表['a','b','c','d','e','f']
。要进行分割2 ..所以在第一个字符串中我想要取列表中的0,2,4个元素,然后将它们连接起来,用空格分隔符和第1,3,5个元素的第二个字符串分隔。
输出必须采用k = ["a c e", "b d f"]
实际的程序是接受一个字符串(例如{球,蝙蝠,玩偶,巧克力,蝙蝠,风筝}),也可以输入接受这些礼物的孩子的数量(例如2),然后将它们分开,以便第一个孩子得到礼物,走到后面,第二个孩子拿走礼物并站在后面,这样所有孩子都会收到礼物。如果礼物仍然存在,那么第一个孩子将再次获得礼物并且循环继续.... 以上所需的输出,例如:{“ball doll bat”,“bat choclate kite”}
答案 0 :(得分:6)
lst = ['a','b','c','d','e','f']
k = [" ".join(lst[::2]), " ".join(lst[1::2])]
输出:
['a c e', 'b d f']
更通用的解决方案:
def group(lst, n):
return [" ".join(lst[i::n]) for i in xrange(n)]
lst = ['a','b','c','d','e','f']
print group(lst, 3)
输出:
['a d', 'b e', 'c f']
答案 1 :(得分:6)
以下是为任意数量的群组执行此操作的一般方法:
def merge(lst, ngroups):
return [' '.join(lst[start::ngroups]) for start in xrange(ngroups)]
以下是它的使用方法:
>>> lst = ['a','b','c','d','e','f']
>>> merge(lst, 2)
['a c e', 'b d f']
>>> merge(lst, 3)
['a d', 'b e', 'c f']