我有一个字符串,我在所有不同的位置插入一个空格并将它们保存到一个列表中。现在这个带有空格的字符串列表,我想拆分这些字符串并将输出放在一个列表中,当我这样做时,碰巧里面有多个列表:
这是我正在处理的代码:
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))]
这是我得到的输出:
>>> cor
[['sans'], ['s', 'ans'], ['sa', 'ns'], ['san', 's']]
期待什么:
>>> cor
['sans', 's', 'ans', 'sa', 'ns', 'san', 's']
我是 python 的新手,我不知道缺少什么。
谢谢
最佳答案
另一种方法:
cor = " ".join(res).split()
输出:
['sans', 's', 'ans', 'sa', 'ns', 'san', 's']
解释
"".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)]
基本上,您在从前面和后面构建子串之间来回切换。
关于python - 拆分一个字符串并使用 Python 将它们保存到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48029844/