Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.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 如何将字符列表合并为8的字符串?_Python_String_List - Fatal编程技术网

Python 如何将字符列表合并为8的字符串?

Python 如何将字符列表合并为8的字符串?,python,string,list,Python,String,List,我有一个python字符列表,希望将它们连接起来创建一个字符串列表,每个字符串包含8个元素,例如: x = ['0','0','1','a','4','b','6','2','2','1','4','1','5','7','9','8'] 结果 ['001a4b62', '21415798'] 包含一个grouper配方,将连续项目分组为固定大小的组: from itertools import * def grouper(iterable, n, fillvalue=None):

我有一个python字符列表,希望将它们连接起来创建一个字符串列表,每个字符串包含8个元素,例如:

x = ['0','0','1','a','4','b','6','2','2','1','4','1','5','7','9','8']
结果

['001a4b62', '21415798']
包含一个
grouper
配方,将连续项目分组为固定大小的组:

from itertools import *

def grouper(iterable, n, fillvalue=None):
    "Collect data into fixed-length chunks or blocks"
    # grouper('ABCDEFG', 3, 'x') --> ABC DEF Gxx
    args = [iter(iterable)] * n
    return izip_longest(fillvalue=fillvalue, *args)
现在,您可以将其分组为大小为8的列表,并将每个列表转换为字符串:

>>> [''.join(e) for e in grouper(x, 8)]
['001a4b62', '21415798']

可以使用join将字符数组转换为字符串。 以下是您在您的案例中的做法-

x = ['0','0','1','a','4','b','6','2','2','1','4','1','5','7','9','8']
i = 0
strlist = []
while i<len(x):
  strlist.append(''.join(x[i:i+8]))
  i+=8
x=['0'、'0'、'1'、'a'、'4'、'b'、'6'、'2'、'1'、'4'、'1'、'5'、'7'、'9'、'8']
i=0
strlist=[]
而我
简单地说:

print(["".join(x[i:i + 8]) for i in range(0, len(x), 8)])
> ['001a4b62', '21415798']

首先检查以下内容

在Python3.x中,有了它,就可以使用上面的变量
x

import operator
import functools
result = map(lambda s: functools.reduce(operator.add, s), zip(*[iter(x)]*8))
在Python2.x中,您可以删除reduce的
functools
前缀

弗里克

import operator
import functools
result = map(lambda s: functools.reduce(operator.add, s), zip(*[iter(x)]*8))