在每个词典关键项的每个最后一个值的末尾摆脱不需要的\ n的任何建议?
例如:
d= {'1' : ['12', '15:23,24:26\n'], '2' : ['13', '15:6\n'],...}
通缉结果:
d= {'1' : ['12', '15:23,24:26'], '2' : ['13', '15:6'],...}
或者,在字符串列表中摆脱它们的任何建议?
例如:
L= ['1','12','15:23,24:26\n', '2', '13', '15:16\n',...]
通缉结果:
L= ['1','12','15:23,24:26', '2', '13', '15:16',...]
修改
导入代码:
with open('file.txt', 'r+') as file:
rows = (line.split('\t') for line in file)
d_file = {row[0]:row[1:] for row in rows}
答案 0 :(得分:3)
为列表中的每个项目调用str.strip()
。您可以将字典和列表理解的组合用于字典:
In [9]: d = {'1' : ['12', '15:23,24:26\n'], '2' : ['13', '15:6\n']}
In [10]: {k: [x.strip() for x in v] for k, v in d.items()}
Out[10]: {'1': ['12', '15:23,24:26'], '2': ['13', '15:6']}
只是对列表一的简单列表理解:
In [6]: L= ['1','12','15:23,24:26\n', '2', '13', '15:16\n']
In [7]: [x.strip() for x in L]
Out[7]: ['1', '12', '15:23,24:26', '2', '13', '15:16']
str.strip()
-function将从字符串中删除前导和尾随字符。如果没有参数,它将删除空格,其中包括换行符。列表推导只是为列表中的每个元素调用str.strip()
- 函数。
答案 1 :(得分:2)
首次导入数据时清理数据,而不是在事后清理数据。
这是您的数据读取代码:
with open('file.txt', 'r+') as file:
rows = ( line.split('\t') for line in file )
d_file = { row[0]:row[1:] for row in rows }
添加对rstrip()
的调用以删除该行末尾的空格:
with open('file.txt', 'r+') as file:
rows = ( line.rstrip().split('\t') for line in file )
d_file = { row[0]:row[1:] for row in rows }
答案 2 :(得分:0)
L = {key.strip(): item.strip() for key, item in d.items()}
strip()功能可从前面和中删除换行符,空格和标签返回字符串。