首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查文本文件中的字典顺序python

检查文本文件中的字典顺序python
EN

Stack Overflow用户
提问于 2015-08-07 10:34:54
回答 1查看 1.1K关注 0票数 1

我有一个文本文件,其中包含:

代码语言:javascript
复制
I like potatoes
Potatoes are good
Potatoes contain starch

我想测试每个句子是否按字典序排列。

如果句子是,我想让它输出"This is in lexicographic order“

我不太确定该怎么做。

EN

回答 1

Stack Overflow用户

发布于 2015-08-07 11:43:45

一种方法是读取文件,拆分行,将行按顺序排列,然后检查顺序是相同还是不同。

这可能不是最有效的方法,但可以工作:

代码语言:javascript
复制
with open('potatoes.txt') as potatoes:
    potato_lines = potatoes.readlines()

print sorted(potato_lines) == potato_lines

this question的答案向您展示了如何在不排序的情况下进行检查。

例如,this answer提供了一种简洁的方式来生成对以检查顺序:

代码语言:javascript
复制
from itertools import tee, izip

def pairwise(iterable):
    a, b = tee(iterable)
    next(b, None)
    return izip(a, b)

def is_sorted(iterable, key=lambda a, b: a <= b):
    return all(key(a, b) for a, b in pairwise(iterable))

然后,您可以使用:

代码语言:javascript
复制
with open('potatoes.txt') as potatoes:
    print is_sorted(potatoes)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31868824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档