Python:从文本文件开始,逐个字符地创建字符串数组

时间:2018-09-02 16:46:20

标签: python string list text append

最好的解释方式:

  1. 程序获取一个文本文件,然后逐字符检查字符以查找双字符(即'ff'。

我需要显示包含双字符的单词。

我认为最好的方法是为每个角色组成一个列表。当找到一个双字符并到达一个空格(单词的末尾)时,将列表的内容转换为字符串,然后放置在单独的数组中。然后清除列表中的内容。

如果在找到双字母(单词不包含一个字母)之前已到达空格,则清除列表。

**问题:什么是最好的方法?我试图逐个字符地追加到列表中,但是在打印列表时为空。

1 个答案:

答案 0 :(得分:1)

获取文件中所有单词的列表(通过分隔空格并调用.strip()来删除所有换行符),然后对其进行迭代,仅打印包含双字符的单词。观察是否存在重复的一种好方法是将字符串转换为一组字符(按定义,其中不包含重复),然后查看该字符集的长度是否小于字符串。如果是这样,那么就会有重复。

with open('the_file') as f:
    words = [w.strip() for w in f.read().split()]
    for word in words:
        if len(set(word)) < len(word):
            print(word)

还有一个完整的例子:

$ cat the_file
hello there
what is going on?
$ python -q
>>> with open('the_file') as f:
...     words = [w.strip() for w in f.read().split()]
...     for word in words:
...         if len(set(word)) < len(word):
...             print(word)
... 
hello
there
going