一个。
有人可以解释这部分在这段代码中的作用吗(http://codepad.org/SyWLTfqs)?
class_names = [w.capitalize() for w in
random.sample(WORDS, snippet.count("###"))]
“w”从何而来?函数 capitalize() 来自哪里?
这是一个列表推导,遍历一堆字符串并调用它们w
,然后调用.capitalize()
它们。class_names
从 中随机选择的 N 个大写单词的列表也是如此WORDS
,其中 N 是“###”在 中的出现次数snippet
。
首先,请注意random.sample(input, length)snippet.count("###")
以随机顺序返回值的长度列表WORDS
,而 capitalize 是 String 类的方法。
如果WORDS
是一个字符串数组,则意味着w
将随机分配给每个字符串,应用方法capitalize()
,然后放入括号中所示的列表
capitize()是一个 Python 内置字符串函数,它将变量w中的值大写;用户不必创建它http://docs.python.org/library/string.html。
基本上,该列表变量中有一个迭代,并且每次迭代中的值都分配给w。