首页 > 解决方案 > 在特定位置的python列表中添加分隔符

问题描述

我有一个看起来像这样的列表:

在此处输入图像描述

我想:

(1) 扫描列表中的第一个元素

(2) 识别所有“|”的位置

(3) 在列表的其余元素中检查 (2) 中列出的给定位置

(4) 如果在所述位置有空格,则用“|”替换

所以输出看起来像这样:

在此处输入图像描述

先感谢您。

标签: pythonlistreplacelocationdelimiter

解决方案


首先,分离出第一行并获取"|"字符的索引:

indices = [i for (i, c) in enumerate(line) if c == "|"]

然后遍历剩余的行并应用以下内容。请注意,字符串是不可变的,因此要更改字符,您必须先将它们放入其他内容中。有很多方法,但我会将所有字符放在一个列表中,替换字符,然后将列表中的字符重新连接成一个字符串。

for i in indices:
    line = list(line)
    if line[i] == " ":
        line[i] = "|"
line = "".join(line)

推荐阅读