Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.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_String_Split - Fatal编程技术网

如何在python中拆分字符串

如何在python中拆分字符串,python,string,split,Python,String,Split,我有一个字符串,比如'01111111100',我想把每四个字符分开,所以这里是: 0111,1110,1100 然后我想用另一个值替换这些值 这是我到目前为止的代码,但它不能正常工作:如果要用某个值替换字符串中的每组四位数字,可以使用dict line='0111111011111100' lookup = {'0111': 'a', '1110': 'b', '1100': 'c'} # add all combination here "".join(lookup.get(line[i:

我有一个字符串,比如
'01111111100'
,我想把每四个字符分开,所以这里是:

0111,1110,1100
然后我想用另一个值替换这些值


这是我到目前为止的代码,但它不能正常工作:

如果要用某个值替换字符串中的每组四位数字,可以使用
dict

line='0111111011111100'
lookup = {'0111': 'a', '1110': 'b', '1100': 'c'} # add all combination here
"".join(lookup.get(line[i:i+4], 'D') for i in range(0, len(line), 4)) # 'D' is default value
Out[18]: 'abDc'

以下是一些可能对您有所帮助的内容:

str = "0111111011111100"

n = 4

# Create a list from you string with 4 characters in one element of list.
tmp_list = [str[i:i + n] for i in range(0, len(str), n)]
# tmp_list : ['0111', '1110', '1111', '1100']

for n, i in enumerate(tmp_list):
    if tmp_list[n] == "0111":
        tmp_list[n] = "A"
    # elif ....
    # Todo:
    # Populate your if-elif requirements here.   

result_str = ''.join(tmp_list)

您可以使用
列表理解
字符串
索引

s = "0111111011111100"
[s[i:i+4] for i in range(0,len(s),4)]
给出:

['0111', '1110', '1111', '1100']
然后定义一个
字典
,用于将每个
半字节
翻译成:

d = {'0111': 'a', '1110': 'b', '1111': 'c', '1100': 'd'}
然后,您可以将翻译推入
列表comp

[d[s[i:i+4]] for i in range(0,len(s),4)]
这将使:

['a', 'b', 'c', 'd']
最后使用
str.join
将其放回
字符串中,使整个转换为一行:

''.join(d[s[i:i+4]] for i in range(0,len(s),4))
其中:

'abcd'

事实上,,此处使用的是
生成器
表达式,因为它比
列表理解更有效

可以每n个字符分割一个字符串。是否要修改
变量,以便在您的情况下变为
行='abcd'
?请编辑问题,以包括您的预期输出。虽然此代码可能会回答问题,但提供有关如何和/或为什么解决问题的附加上下文将提高答案的长期价值。添加了一些解释性说明
'abcd'