从文本文件提取内容并添加至Python字典
解决方案:拆分文本生成两个目标字典
没问题,这事儿很容易实现!我用Python给你写了一段代码,完美匹配你的需求,直接就能用:
# 原始输入文本 raw_data = "john;9999;dave sam;8888; dave;7777;alex,john alex;6666;john,sam,dave" # 初始化两个空字典 dict1 = {} # 姓名: 密码 dict2 = {} # 姓名: 好友 # 把原始文本分割成单个用户的记录(自动处理空格分隔) user_records = raw_data.split() # 遍历每个用户记录,填充字典 for record in user_records: # 按分号拆分出姓名、密码、好友信息 name, password, friends = record.split(';') # 密码转成整数类型,存入dict1 dict1[name] = int(password) # 好友信息去除前后空白(处理sam那条的空格),存入dict2 dict2[name] = friends.strip() # 输出结果 print(dict1) print(dict2)
运行结果完全符合你的预期:
{'john': 9999, 'sam': 8888, 'dave': 7777, 'alex': 6666} {'john': 'dave', 'sam': '', 'dave': 'alex,john', 'alex': 'john,sam,dave'}
代码逻辑解释:
raw_data.split():自动把原始文本按任意空白字符(空格、换行等)分割成单个用户的信息条目,不用手动处理多个空格的问题。record.split(';'):把每个用户的条目按分号拆分成三个部分,正好对应姓名、密码、好友。int(password):把密码从字符串转成整数,和你预期输出的格式一致。friends.strip():去除好友字段前后的空白字符,确保sam的好友字段是空字符串(而不是空格)。
如果你的输入文本来自文件,只需要把raw_data换成读取文件的代码就行,比如:
# 从文件读取内容 with open('your_file.txt', 'r') as f: raw_data = f.read().strip()
内容的提问来源于stack exchange,提问作者user14855804
相关产品推荐
相关产品推荐

