社区首页 >问答首页 >比较列并打印越来越小的行

比较列并打印越来越小的行
EN

Stack Overflow用户
提问于 2013-04-03 21:47:05
回答 3查看 195关注 0票数 0

我有两个这样的文件

文件1有1行:

代码语言:javascript
代码运行次数:0
复制
6
4 
13 
25 
35 
50  
65 
75 
and so on.....

file2中有1行

代码语言:javascript
代码运行次数:0
复制
24
45
76
and so on.....

我想获取file2中的每个值(一次一个),并与file1进行比较,如果file1的值小于该数字,则获取这些值并将其保存在列表中,然后根据数字对它们进行排序并打印最大值

例如:我在file2中取24个数字,并与file1进行比较,发现6,4和13在该数字之下,然后我提取它们,将其保存在列表中,并对其进行排序并打印最大值(即13)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-03 22:18:38

将每个文件读入list,并将每一行转换为int。然后对两个列表进行排序,以使我们能够高效地迭代,

代码语言:javascript
代码运行次数:0
复制
file1 = sorted([int(l) for l in open('file1.txt').read().split()])
file2 = sorted([int(l) for l in open('file2.txt').read().split()])

i = 0
for file2_number in file2:
    while i+1 < len(file1) and file1[i+1] < file2_number:
        i += 1
    print file1[i]

这当前打印答案(13 35 75),但如果需要,您可以很容易地修改它以返回list

票数 0
EN

Stack Overflow用户

发布于 2013-04-03 22:09:50

awk解决方案:

代码语言:javascript
代码运行次数:0
复制
awk 'NR==FNR{a[$0];next} {b[FNR]=$0}
END{
        n=asort(b)
        for(j in a)
                for(i=n;i>0;i--)
                        if(b[i]<j){
                                print "for "j" in file2 we found : "b[i]
                                break
                        }
}' file2 file1

输出:

代码语言:javascript
代码运行次数:0
复制
for 45 in file2 we found : 35 
for 76 in file2 we found : 75 
for 24 in file2 we found : 13 

注意::还有优化的空间。如果性能很关键,你可以考虑(只是建议)

首先,当您找到较小的位置/索引时,记录descending

  • sort x

  • take x

  • till
  • file2,from file1 file2,如果找到正确的位置/索引,则更新file1.x end of file2

暴力破解的方式是采用O(mxn)还是O(nxm),这取决于nm哪个更大。

上面的算法。我没有分析,应该比O(mxn)快..;)

python和awk都可以完成这项工作。如果可能,将这两个文件加载到内存中。如果你有怪物文件,那就是另一个算法问题。例如,对大文件进行排序

票数 0
EN

Stack Overflow用户

发布于 2013-04-03 22:20:47

使用Python,首先将file1中的所有行和file2中的所有行读取到两个单独的列表中,然后您可以简单地遍历它们,将文件1中的每个数字与file2中的每个数字进行比较,如下所示:

代码语言:javascript
代码运行次数:0
复制
#First load each of the lines in the data files into two separate lists
file1Numbers = [6, 4, 13, 25, 35, 50, 65, 75]
file2Numbers = [24, 45, 76]
extractedNumbers = []

#Loops through each number in file2
for file2Number in file2Numbers:

    #Loops through each number in file 
    for file1Number in file1Numbers:

        #Compares the current values of the numbers from file1 and file2
        if (file1Number < file2Number):

            #If the number in file1 is less than the number in file2, add
            #the current number to the list of extracted numbers
            extractedNumbers.append(file1Number)


    #Sorts the list of extracted numbers from least to greatest
    extractedNumbers.sort()

    #Prints out the greater number in the list
    #which is the number located at the end of the sorted list (position -1)
    print extractedNumbers[-1]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15798779

复制
相关文章
网页title图标_php 数据库显示在页面并能修改
重新定义TCPDF中的K_PATH_IMAGES常量(define(‘K_PATH_IMAGES’, xxxx) , 需要定义在加载tcpdf.php 之前)
全栈程序员站长
2022/10/03
4.2K0
网页实时显示时间_html页面布局代码
桌面新建记事本,将下列代码复制粘贴,重命名后缀为.html,保存,用浏览器打开即可
全栈程序员站长
2022/10/03
4K0
网页实时显示时间_html页面布局代码
在开启了CloudFlare的页面中显示当前节点信息
正如本站底部右下角所显示的那样当前CDN节点: San Jose, CA, United States - (SJC),是不是感觉有丶炫酷?请继续往下看
yumusb
2020/08/28
5.1K0
为什么html在浏览器中不能显示图片_做html网页图片显示不出来
我遇到的问题是写了一个HTML程序,结果在网页上面不能显示,原因是图片路径放置错了。
全栈程序员站长
2022/09/20
5.8K0
为什么html在浏览器中不能显示图片_做html网页图片显示不出来
weex eros APP 如何在vue页面显示图片,循环添加多张图片显示在vue页面上
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/acoolgiser/article/details/89016852
acoolgiser
2019/04/17
2K0
Python 实战(1):在网页上显示信息
上次简单介绍了 web.py。今天先来粗略解释下那个 hello world 页面的代码: import web 导入 web.py 模块。 urls = ( '/', 'index' ) 这是指定网站 url 的匹配规则,左边是正则表达式,右边是对应处理函数的名称。 class index: def GET(self): return "Hello, world!" 这便是处理请求的函数 index。GET 和 POST 是 HTTP 的两种请求方式,一般来说,GET 用于请求网
Crossin先生
2018/04/16
1.7K0
自定义wordpress每个分类显示多少页面数
一般的分页只需要在后台设置->阅读->博客中显示的页数,即可设置网站的分页,但是这么设置的分页是全站通用的,无论是首页、分类、搜索都显示一个分页数,但是若我们想单独控制某一个页面显示多少呢?下面我们就说说这种怎么实现。
PHP学习网
2022/08/03
7250
为抛弃刘海屏,苹果预备在显示屏上打孔,但这似乎已经落伍了
随着人脸识别解锁、支付等应用的兴起,相关技术及元器件也成为了移动智能手机的标配。从iPhone X发布至今,其后几乎每一款品牌都有支持人脸识别的新机发布,但也始终没能从根本上解决iPhone“刘海屏”的问题。当然,苹果也一直在尝试研究出更好的替代方案。
镁客网
2018/11/23
5630
在3D游戏中显示网页
在游戏中显示网页? 为什么要这么做呢? 其实可以做不少的应用: 嵌入帮助文档, 比如技能介绍, 可以做得很漂亮, 各种排版方式用传统UI做起来很费劲 活动公告页面直接在游戏中查看 游戏内的BBS/社区
逍遥剑客
2018/05/21
6440
直接iframe方式在网页上显示天气插件
天气预报调用网址(可定制):http://www.tianqi.com/plugin/
科控物联
2023/09/22
1.4K0
直接iframe方式在网页上显示天气插件
将jpeg图片显示在framebuffer上
点击(此处)折叠或打开 /************************************************** * example5.c * Author: T-bagwell * * Compile:gcc -Wall example5.c -o example5 *************************************************/ #include <stdio.h> #inclu
用户3765803
2019/03/05
1.2K0
浏览器中输入 URL 到网页显示的过程
图片来源:《图解HTTP》 总体来说分为以下几个过程: DNS 解析 TCP 连接 发送 HTTP 请求 服务器处理请求并返回 HTTP 报文 浏览器解析渲染页面 连接结束 具体可以参考下面这篇文章: 从输入 URL 到页面加载发生了什么? 常见 HTTP 状态码 状态码 各协议与 HTTP 协议之间的关系 图片来源:《图解HTTP》
happyJared
2019/06/24
1.4K0
在web浏览器上显示室内温度(nodeJs+arduino+socket.io)
上次的nodejs操作arduino入门篇中实现了如何连接arduino。这次我们来实现通过arduino测量室内温度并在浏览器上显示出来。 【所需材料】 硬件:LM35温度传感器,arduino u
用户1749219
2018/05/16
2.2K0
浏览器将URL变成一个屏幕上显示的网页的过程?
前言   一个浏览器是怎么工作的? 正文 URL变网页过程:   1.浏览器通过http或https协议,向服务端请求页面   2.将请求过来的HEML代码通过解析,构建DOM树   3.计算DOM
Dawnzhang
2019/03/08
7910
浏览器将URL变成一个屏幕上显示的网页的过程?
PC页面全屏显示以及退出全屏显示
//点击,进入全屏 $('#btn4').click(()=>{ let el = document.documentElement; let rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen; if(typeof rfs != 'undefined' && rfs){ rfs.call
用户1174387
2021/10/26
5.3K0
如何下载网页上的视频?
You-get是GitHub上的一个项目,也可以说是一个命令行程序,帮助大家下载大多主流网站上的视频、图片及音频。支持的网站非常多,我们可以先来看一部分。
狼啸风云
2020/07/27
4.1K0
如何下载网页上的视频?
javascript 获取多种主流浏览器显示页面高度(转)
IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.documentElement.clientWidth ==> 可见区域宽度 document.documentElement.clientHeight ==> 可见区域高度 FireFox中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.documentElement.clientWidth ==> 可见区域宽度 document.documentElement.clientHeight ==> 可见区域高度 Opera中:  document.body.clientWidth ==> 可见区域宽度 document.body.clientHeight ==> 可见区域高度 document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽) document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高) 没有定义W3C的标准,则 IE为: document.documentElement.clientWidth ==> 0 document.documentElement.clientHeight ==> 0 FireFox为: document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高) Opera为: document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
lin_zone
2018/08/15
9830
Confluence 如何在页面中显示目录
在默认情况下,Confluence 是不能在页面中显示目录和当前页面中的内容导航的。
HoneyMoose
2021/12/14
1.9K0
【JavaScript小项目】在网页上显示选择的图片
思路分析 选用<input type="file">原生组件,实现该组件美化。 选用<img src="file">实现图片预览。 代码实现 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>图片预览</title> <script src="js/test.js"> function upload(file) { cons
efonfighting
2020/02/13
1.2K0
如何在html页面显示html标签源码
这是一篇不正经实现方案报道。 1 引言 先来看个问答: stackoverflow: Why was the xmp HTML tag deprecated? [duplicate] 这个问题感觉
celineWong7
2020/11/05
11.5K0

相似问题

无法访问Azure容器服务

11

WebDriver容器无法访问DockerComposeContainer服务

15

服务结构容器-无法访问群集内的服务

13

使用Kubernetes的Azure容器服务-无法访问Internet的容器

216

Azure容器服务容器无法访问除80以外的其他端口

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档