0

我一直在学习一门课程并试图找到缩短代码的方法。我的任务是打开一个文本文件,拆分它,然后将所有唯一值添加到列表中,最后对其进行排序。我通过了作业,但我一直在尝试缩短它以学习一些将任何缩短概念应用于未来代码的方法。我一直遇到的主要问题是试图将打开的文件转换为字符串以将它们转换为要追加的列表等,而无需 read()。如果我不使用 read() 我会返回 TextIO 错误。我尝试调查它,但我发现涉及导入操作系统和做一些其他时髦的东西,这似乎需要更多时间。

因此,如果有人愿意给我一些提示以更有效地编写对初学者友好的代码,我将不胜感激。

romeo = open('romeo').read()
mylist = list()
for line in romeo.split() :
    if line not in mylist:
        mylist.append(line)

mylist.sort()
print(mylist)

我看到 set() 对于唯一值非常好,但是我认为我无法对其进行排序。然后在列表和集合之间尝试翻转看起来很古怪。我为循环男孩尝试了那些时髦的一行,但无法让它发挥作用。就像for line not in mylist : mylist.append(line)我知道那不是怎么做甚至不是接近,但我不知道如何传达我的意思。

所以要迭代: 1. 如何在没有 read() / 绕过 textIO 的情况下获得相同的结果 2. 如何以更流线型的方式编写此代码。

我是该网站和编码的新手,所以希望我没有触发任何人。

4

0 回答 0