Python中文
首页
教程
问答
标签
搜索
登录
注册
当相同的键多次出现时将文本文件转换为字典
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个如下所示的文本文件:</p> <pre><code>tomato 7000 potato and pear 8000 prunes 892 tomato 8 carrot 600 prunes 3 </code></pre> <p>为了把它变成一本忽略有更多单词的行的词典(这是我想要的,所以<code>potato and pear</code>被忽略,这很好),我写道:</p> <pre><code>with open("C:\\path\\food.txt", encoding="utf-8") as f_skipped: result = {} for line in f_skipped: try: k, v = line.split() except ValueError: pass else: result[k] = v </code></pre> <p>但是因为不能有重复的键,所以它采用后面出现的值,所以<code>tomato</code>和<code>prunes</code>分别有值<code>8</code>和<code>3</code>。有没有办法只接受第一次出现而忽略后一次出现</p> <p>我想保留我的代码,只是把文本转过来(听起来有点傻),或者检测是否有重复的单词(后者有点危险,因为有很多行有很多单词,我只是想忽略它们)</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>试试这个:-</p> <pre><code>with open('food.txt') as food: D = {} for line in food: t = line.rsplit(' ', 1) k = t[0] if not k in D: D[k] = t[1].split() print(D) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
将Pandas数据帧转换为PyTorch张量?
4 回答
将Pandas数据帧转换为scipy稀疏矩阵
1 回答
将Pandas数据帧转换为Spark Datafram时出现问题
1 回答
将pandas数据帧转换为spark DataFram时出错
9 回答
将Pandas数据帧转换为spark datafram时收到错误
1 回答
将Pandas数据帧转换为Spark数据帧
6 回答
将Pandas数据帧转换为Tensorflow数据
5 回答
将Pandas数据帧转换为tkinter obj
1 回答
将pandas数据帧转换为XML
10 回答
将Pandas数据帧转换为值sql语句
8 回答
将pandas数据帧转换为元组
3 回答
将pandas数据帧转换为元组列表
7 回答
将pandas数据帧转换为元组列表并删除所有pandas数据类型
10 回答
将pandas数据帧转换为具有头和数据类型的numpy数组
3 回答
将pandas数据帧转换为内存中的拼花地板,并将其加载到Python中的Hadoop中
5 回答
将pandas数据帧转换为内存中类似文件的对象?
6 回答
将Pandas数据帧转换为内存功能(&F)
8 回答
将pandas数据帧转换为列表列表
4 回答
将pandas数据帧转换为列表列表以输入到RNN
3 回答
将Pandas数据帧转换为单行DataFram
6 回答