删除字典中的\ n

时间:2018-11-27 14:22:37

标签: python python-3.x dictionary whitespace

我在程序中删除\ n时遇到问题,这里是代码

with open(filename) as f:
    for line in f.readlines():
        parent, child = line.split(",")
            parent.strip()
            child.strip()
            children[child].append(parent)

尝试使用.rstrip和其他变体,但对我没有任何作用,这是我得到的结果

{'Patricia\n': ['Mary'], 'Lisa\n': ['Mary']} 

问题是当我叫children [“ Patricia \]”时我得到[],因为它只能识别孩子[[Patricia \ n“]

3 个答案:

答案 0 :(得分:8)

实际上,您距离很近。字符串是不可变的,因此调用strip()会返回一个新字符串,同时保留原来的字符串。

所以替换

parent.strip()
child.strip()

使用

parent = parent.strip()
child = child.strip()

可以解决问题。

答案 1 :(得分:5)

请在strip前使用split

parent, child = line.rstrip("\n").split(",")

问题是:parent.strip()需要重新分配给字符串,因为字符串是不可变的。

答案 2 :(得分:2)

单独调用strip()不会更改原始值。您将需要首先分配一个变量或在字典创建中使用它。

看看下面的代码片段是否可以解决您的问题

with open(filename) as f:
    for line in f.readlines():
        parent, child = line.split(",")
            children[child.strip()].append(parent.strip())