3

在“test_wordss.txt”中

A
sentence
is
a
grammatical
unit
consisting
of
one
or
more
words
A

我的代码:

for line2 in open('C://Users/Desktop/test_wordss.txt'):
    fields2 = line2.rstrip('\n').split('\t')
    print fields2.sort()

我的代码结果显示为无...

我做错什么了吗?对文本文件中的单词进行排序有什么建议吗?

4

5 回答 5

5

尝试:

words = sorted(open('C://Users/Desktop/test_wordss.txt').read().split())
print(words)

您的代码有几个问题:

  1. sort()不返回排序列表。它对列表进行适当的排序,然后返回None.
  2. 您的代码尝试对每一行中的单词进行排序,并且每行只有一个单词。它不会尝试一次处理整个文件。
于 2012-12-18T13:09:58.750 回答
1

sort对列表进行就地排序(doc)并返回None以说明这一点(所以你不要忘记副作用,你只会得到副作用)。要么使用

print sorted(fields2)

或者

fields2.sort()
print fields2
于 2012-12-18T13:11:46.610 回答
0

sort不返回sorted列表,它sort是到位的列表。

于 2012-12-18T13:08:48.940 回答
0

试试这个:

for line in sorted(file('C://Users/Desktop/test_wordss.txt').read().split("\n")):
    print line
于 2012-12-18T13:10:05.927 回答
0
for x in word_list:
    ordered = True
    last = ord(x[0])
    
    for char in x[1:]:
        if ord(char) < last:
            flag = False
            break
        last = ord(char)
    
    if ordered:
        print(word)
于 2021-11-22T07:48:24.480 回答