python - 拆分一个字符串并使用 Python 将它们保存到列表中

标签 python string python-3.x list split

我有一个字符串,我在所有不同的位置插入一个空格并将它们保存到一个列表中。现在这个带有空格的字符串列表,我想拆分这些字符串并将输出放在一个列表中,当我这样做时,碰巧里面有多个列表:

这是我正在处理的代码:

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/

相关文章:

python - 如何使用 lxml 和 python 漂亮地打印 xml 文件的子树?

python - 有没有办法将字符串变量传递到 python .loc/.iloc 中?

c - sscanf 扫描格式化文件时出错

c++ - 查找不重复的字符串排列

python - 如何采用一个函数来检查加在一起的一对元素是否等于另一个整数并使其在线性时间内运行?

django - 如何在 Django 中验证 OAuth2 状态?

multithreading - 在Python程序中设计并发

python - Matlab 或 IDL 用户可以处理 Python 日期时间对象吗?

python - 打印组合字符串和数字

python - 打破 Python 中的嵌套(双)循环