Python中文
首页
教程
问答
标签
搜索
登录
注册
删除反向重复行的python脚本
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我得到了一个python代码,如果行在反转时相似,它会删除行。例如,如果我的文档包含:</p> <pre><code>1,2 3,4 5,6 7,8 2,1 4,3 5,6 8,7 </code></pre> <p>执行脚本后,输出为</p> <pre><code>5,6 7,8 2,1 4,3 5,6 8,7 </code></pre> <p>假设一行的第一列为1,2,第二列为7,8,那么,如果另一行的每列包含反转值2,1和8,7,则视为反转。你知道吗</p> <p>但是,我注意到脚本没有保持行的顺序。排队对我来说很重要。另外,我需要删除第二个类似的反向行,而不是第一个一个。那个代码是</p> <pre><code>import sys with open(sys.argv[1]) as inf: keys = set() for line in inf: ports, ips = line.split() port1, port2 = ports.split(",") ip1, ip2 = ips.split(",") if ip1 < ip2: keys.add((ip1, port1, ip2, port2)) else: keys.add((ip2, port2, ip1, port1)) with open('results', 'w') as outf: for result in keys: outf.write("{1},{3}\t{0},{2}\n".format(*result)) </code></pre> <p>有什么想法吗?如果我们能在bash脚本上实现它,有什么建议吗?你知道吗</p> <p>谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>既然你提到了<code>bash</code>,这里有一个<code>awk</code>的解决方案</p> <pre><code>awk -F'[ ,]' 'BEGIN{OFS=","} {$1=$1}; !($0 in arr){print($1,$2" "$3,$4);arr[$2","$1","$4","$3]}' file.txt 1,2 3,4 5,6 7,8 5,6 8,7 </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
jupyter运行一个旧的pytorch版本
5 回答
Jupyter运行不同版本的卸载库?
10 回答
Jupyter运行指定的键盘快捷键
9 回答
Jupyter通过.local文件“逃逸”virtualenv。我该如何缓解这种情况?
8 回答
Jupyter重新加载自定义样式
2 回答
Jupyter错误:“没有名为Jupyter_core.paths的模块”
6 回答
jupyter错误:无法在随机林中将决策树视为png
7 回答
Jupyter错误'内核似乎已经死亡,它将自动重新启动'为一个给定的代码块
10 回答
Jupyter错误地用阿拉伯语和字母数字元素显示Python列表
3 回答
Jupyter隐藏数据帧索引,但保留原始样式
7 回答
Jupyter集线器:启动器中出现致命错误。。。系统找不到指定的文件
2 回答
Jupyther中相同值的相同哈希,但导出到Bigquery时不相同
3 回答
Jupy上Python的读/写访问问题
8 回答
jupy上没有模块cv
7 回答
Jupy上的排序错误
7 回答
Jupy中bqplot图形的紧凑布局
8 回答
Jupy中matplotlib plot的连续更新
5 回答
Jupy中Numpy函数的文档
10 回答
Jupy中Pandas的自动完成问题
1 回答
jupy中Qt后端的Matplotlib动画
9 回答