Ran*_*Ran 3 python string split list python-3.x
我有一个字符串,我在所有不同的位置插入了一个空格并将它们保存到列表中。现在这个带有空格的字符串列表,我想拆分这些字符串并将输出放在一个列表中,当我这样做时,碰巧里面有多个列表:
这是我正在处理的代码:
var ='sans'
res = [var[:i]+' '+var[i:] for i in range(len(var))]
// The previous line: AM adding a space to see maybe that would generate other words
cor = [res[i].split() for i in range (len(res))]
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出:
>>> cor
[['sans'], ['s', 'ans'], ['sa', 'ns'], ['san', 's']]
Run Code Online (Sandbox Code Playgroud)
我期待什么:
>>> cor
['sans', 's', 'ans', 'sa', 'ns', 'san', 's']
Run Code Online (Sandbox Code Playgroud)
我是python的新手,我不知道缺少什么。
谢谢
另一种方法:
cor = " ".join(res).split()
Run Code Online (Sandbox Code Playgroud)
输出:
['sans', 's', 'ans', 'sa', 'ns', 'san', 's']
Run Code Online (Sandbox Code Playgroud)
解释
" ".join(res)将连接单个字符串,res它们之间有一个空格。然后调用.split()会将空格上的这个字符串拆分回一个列表。
编辑:不涉及中间变量的第二种方法res,尽管这个方法在眼睛上并不那么容易:
cor = [var[:i/2+1] if i%2==1 else var[i/2:] for i in range(2*len(var)-1)]
Run Code Online (Sandbox Code Playgroud)
基本上你在从前面和后面构建子串之间来回切换。