Python 对这份清单的结果感到困惑
我有一个Python 对这份清单的结果感到困惑,python,list,list-comprehension,Python,List,List Comprehension,我有一个文本,这是一个句子列表,这段代码应该删除文本中的数字: [''.join(c for c in x if c not in '0123456789') for x in texts] 它是有效的 现在,x在text中表示text列表中的每个句子。而c代表x中的c将意味着每个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]
它是有效的
现在,x在text
中表示text
列表中的每个句子。而c代表x中的c
将意味着每个x
句子中的每个单词?我很困惑,因为这样的事情不起作用:
[c for c in x for x in texts]
# or
[c for c in (x for x in texts)]
创建每个句子中每个单词的列表
不
[''.join(c代表x中的c,如果c不在'0123456789'中)代表x在文本中]
首先将句子拆分成单词?我越想越糊涂。我想澄清一下。对于x中的c,x是一个字符串,意思是取字符串中的每个字符,而不是每个单词
换句话说,字符串是字符序列。对于x中的c
,其中x是字符串,表示获取字符串的每个字符,而不是每个单词
换句话说,字符串是字符序列。Ahh right。我懂了。但是为什么[c代表c在x代表x在文本中]
或者[c代表c在(x代表x在文本中)]
不起作用呢?它应该给我一个所有字符的列表?@Huzo语法错误。当使用双列表理解时,您必须颠倒for:[c代表x,文本代表c代表x]
Ahh-right。我懂了。但是为什么[c代表c在x代表x在文本中]
或者[c代表c在(x代表x在文本中)]
不起作用呢?它应该给我一个所有字符的列表?@Huzo语法错误。当使用双列表理解时,如果要拆分以获得单词,则必须颠倒for:[c代表x,text代表x]
,使用text.split()
。但是如果c不在
中,则除非这些单词是数字,否则将不起作用。如果要拆分这些单词,请使用text.split()
。但是如果c不在
中,那么将不起作用,除非这些单词是数字。