gpt4 book ai didi

python - 排序列表输出: UTF-8

转载 作者:太空宇宙 更新时间:2023-11-03 18:06:32 24 4
gpt4 key购买 nike

我正在获取一个输入文件,其中包含带有空格分隔的不同语句的数字列表,并获取这些数字,将两个数字相邻添加并打印出一个单词(如果是 UTF-8)。因此,如果数字列表为 67 5 100 1 11 97 98 10 1 110,则数字将变为 72、101、108、108 和 111,在 UTF-8 中读取 Hello。

我目前有以下代码:

file_name = input('Enter filename: ')
input_file = open(file_name, 'r')
word_list = []
count3 = 0

for line in input_file:
count1 = 0
count2 = 1
count3 += 1
word_str = ''
line = line.split()
length = len(line)

while count1 < length:
num_char = int(line[count1]) + int(line[count2])
count1 += 2
count2 += 2
word_str += chr(num_char)
word_list.append(word_str)

print (word_list)

示例输入文件:

67 5 100 1 11 97 98 10 1 110 
15 72 10 101 47 67 88 20 94 6 22 11

61 11 93 4 73 39 78 34 17 104
23 43 11 93 65 52 20 96 66 31 86 24 40 61 102 13 50 51
73 43 28 73 8 89 31 68 77 27 24 77 42 72 15 24 64 51
25 75 7 90 10 111 17 16

从这段代码中我得到输出:

['Hello', 'World!', '', 'Happy', 'Bhutanese', "teacher's", 'day!']

我的问题是我需要对列表中的输出进行排序,最后一条语句在前,第一个语句在最后。

因此,对于提供的数字,预期输出将是:

['Happy Bhutanese teacher's day!',
'Hello World!']

非常感谢任何帮助

最佳答案

您似乎不需要一个单独的单词列表 - 您需要一个句子列表,其中句子由空行分隔。

为了清楚起见,您应该将 word_list 重命名为 sentence_list。从现在开始,我将其称为 sentence_list

要构建句子,请在每个单词之间放置一个空格。由于句子跨越多行,因此您不想在每个循环中重新初始化 word_str - 您需要保留它。为此,请在循环之前将其初始化一次

word_str = ''
for line in input_file:
...

您不会总是将行的单词附加到列表中,word_list.append(word_str),您需要以不同于空行的方式处理单词。

如果刚刚处理的行是一个单词,则在末尾添加一个空格。

如果是空行,则将当前的 word_str 添加到 sentence_list 中,并将 word_str 重置为空字符串。

您可以通过检查行的长度来决定要执行的操作:空行的长度为 0。

if length == 0:
sentence_list.append(word_str)
word_str = ''
else:
word_str += ' '

由于您希望最后一句首先出现在列表中,因此您需要在打印之前反转列表。

sentence_list.reverse()
print(sentence_list)

关于python - 排序列表输出: UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26768858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com