与清单理解的结果混淆

时间:2018-06-20 19:04:38

标签: python list list-comprehension

我有一个texts,这是一个句子列表,这段代码应该删除文本中的数字:

[''.join(c for c in x if c not in '0123456789') for x in texts]

它有效。

现在,x in texts表示texts列表中的每个句子。 c for c in x意味着每个x句子中的每个单词吗?我很困惑,因为这样的事情行不通:

[c for c in x for x in texts]
# or
[c for c in (x for x in texts)]

创建每个句子中每个单词的列表。

不是[''.join(c for c in x if c not in '0123456789') for x in texts]首先将句子分成单词吗?我思考的越多,我就越困惑。我希望澄清一下。

1 个答案:

答案 0 :(得分:3)

for c in x,其中x是一个字符串,表示获取字符串的每个字符,而不是每个单词。

换句话说,字符串是字符序列。