python - 如何从文件中分割某些数字以将它们作为值放入字典中的列表中?
问题描述
如果我的文件是
杰西, 90, 90, 90, 90
奥利弗纽瑟姆, 43, 98, 100, 56
马克, 43, 78, 88, 98
我希望它显示:{'Jessie': [90,90,90,90]}
我遇到的问题是查看我可以在哪里对字符进行适当的切片,以便尽管文件中的间距不同,但可以将百分比放在一个切片中。
这是我为切片写的:
grades = {}
for line in filename:
name, percentage = line.split(",")
name_end = line.index(',')
name = line[0:name_end]
percentage = [name_end:]
if percentage not in grades:
grades[name] = []
[name].append(percentage)
感谢任何建议!
解决方案
使用 Dict Comprehension 来解决这个问题,您可以使用 re 从字符串中捕获名称和数字
import re
_dict = {re.findall('[A-Za-z]+',i).pop():re.findall('\d+',i) for i in list(open('new.txt'))}
print(_dict)
#{'Jessie': ['90', '90', '90', '90'], 'Newsome': ['43', '98', '100', '56'], 'Mark': ['43', '78', '88', '98']}
推荐阅读
- python - 隐藏您使用来自 Google 的 Selenium 的事实
- c++ - 我不知道如何摆脱最后不需要的输出
- android-studio - 是否可以从android中的资源文件中的html在Google表格数据库中插入数据
- javascript - JavaScript:将值捕捉到最接近的十进制网格单位
- java - 订阅设计模式
- python - 我如何在多处理运行时检查值是否匹配
- c++ - 如何从 Boost 测试中测试私有方法?
- python - 如何使用 apache 将值从 html 传递到 python 并返回
- python - 你如何用YES替换输入中的'Y'?
- javascript - 动态查询 mongoDb 中的嵌套字段