所以我使用rstrip来去除字典条目末尾的新行标识符
这是我正在使用的词典:
{'100': ['Smith', 'James', '66', '150\n'], '101': ['Jones', 'Linda', '62', '124\n'], '102': ['Davis', 'David', '68', '180\n'], '103': ['Miller', 'Sandra', '65', '90\n'], '104': ['Taylor', 'Paul', '72', '150\n']}
注意\n在每个
所以为了解决这个问题,我只创建了一个键列表。然后使用for循环结束每个条目
keys = [k for k in dictionary]
for key in keys:
dictionary[key][3] = dictionary[key][3].rstrip('\n')
但是,当我执行此操作时,输出只会删除键100的第一个\n,而其余的保留。这本新字典是这样的:
{'100': ['Smith', 'James', '66', '150'], '101': ['Jones', 'Linda', '62', '124\n'], '102': ['Davis', 'David', '68', '180\n'], '103': ['Miller', 'Sandra', '65', '90\n'], '104': ['Taylor', 'Paul', '72', '150\n']}
Process finished with exit code 0
第一个入口完全固定,但其余的保持不变。我不明白为什么for循环没有遍历所有键,而只遍历第一个键:(
虽然我们都建议用不同的方法来实现这一点,但请注意,实际上根本不需要使用这些键。这些值是
list
,所以它们是可变的。因此,这里有另一种方法:使用dict.items()将使您的生活在迭代过程中变得轻松。但是在这里,因为您只需要更新值,所以可以使用dict.values()对值进行迭代 还可以使用index-1来获取列表中的最后一个元素
相关问题 更多 >
编程相关推荐