【发布时间】:2021-04-18 15:32:44
【问题描述】:
任何人解释连接函数中的代码,即
(i for i in list_text_from_file if not i in chars)
【问题讨论】:
-
这是一个列表理解,它从
list_text_from_file中选择不在chars中的每个项目。 -
其实是一个生成器表达式,但它们是相似的。
任何人解释连接函数中的代码,即
(i for i in list_text_from_file if not i in chars)
【问题讨论】:
list_text_from_file 中选择不在chars 中的每个项目。
好吧,i 是 every character,所以 "".join(i for 是加入变量的所有东西。那是i in list_text_from_file,所以将I 与" " 连接起来,对于list_text_from_file 中的每个字符。接下来, if not i in chars。这就是说,如果字符或I 也在chars 中,则不要将其与" " 连接。
因此,对于list_text_from_file 中的每个字符,也不是chars 中的每个字符,将其与" " 连接起来。
如果list_text_from_file 是["A", "B", "C", "D", "E"],并且chars 是["C","E"]。结果 (list) 将是 ["A","B","D"]
【讨论】:
如果这些字符不在您的 chars 变量中,它将返回一个包含 list_text_from_file 中的特殊字符的字符串 ''。
例如。
list_text_from_file = '321323132@#!%AafA'
chars ={'1','u','A'}
' '.join(i for i in list_text_from_file if not i in chars)
它会返回:
'3 2 3 2 3 3 2 @ # ! % a f'
【讨论】: