【问题标题】:most efficient way to read data from stdin in python在python中从stdin读取数据的最有效方法
【发布时间】:2016-07-08 18:03:41
【问题描述】:

我知道从文件中分块读取数据的最有效方法。但是我想从标准输入读取数据,并且我想要最快的方式来读取数据,因为时间是代码执行的一个约束。我想在 python 2.7 中做到这一点。

编辑: 判断从标准输入读取数据的最佳方法将取决于很多参数。为了更快地读取数据,我应该考虑哪些事项?

代码:

from itertools import permutations
line=raw_input().splitlines()[0].split(" ")
word=line[0]
k=int(line[1])
words=list(permutations(word,k))
finalList=[]
for word in words:
    wo=""
    for w in word:
        wo=wo+w
    finalList.append(wo)
finalList.sort()
for i in finalList:
    print i

【问题讨论】:

  • 我们不是代码编写服务。这不是一个问题——它是您想要编写的程序的规格列表。
  • 如果时间紧迫,也许不要使用Python。
  • 对不起,我应该澄清一下。我们也不是代码基准测试服务。
  • @sohil。它们可能写得更快,但执行起来并不比一个好的 C 实现更快。
  • 如果数据是由用户在键盘上输入的,那么任何关于 I/O 效率的讨论都是毫无意义的。

标签: python stdin


【解决方案1】:

您可以使用fileinput 模块。使用它来阅读STDIN 的好方法就是这样

import fileinput as fi

for line in fi.input():
  // DO SOMETHING

【讨论】:

    猜你喜欢
    • 2011-11-24
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多