0

一个。

有人可以解释这部分在这段代码中的作用吗(http://codepad.org/SyWLTfqs)?

class_names = [w.capitalize() for w in
               random.sample(WORDS, snippet.count("###"))]

“w”从何而来?函数 capitalize() 来自哪里?



4

3 回答 3

1

这是一个列表推导,遍历一堆字符串并调用它们w,然后调用.capitalize()它们。class_names从 中随机选择的 N 个大写单词的列表也是如此WORDS,其中 N 是“###”在 中的出现次数snippet

于 2012-09-23T04:13:58.793 回答
1

首先,请注意random.sample(input, length)snippet.count("###")以随机顺序返回值的长度列表WORDS,而 capitalize 是 String 类的方法。
如果WORDS是一个字符串数组,则意味着w将随机分配给每个字符串,应用方法capitalize(),然后放入括号中所示的列表

于 2012-09-23T04:21:09.460 回答
0

capitize()是一个 Python 内置字符串函数,它将变量w中的值大写;用户不必创建它http://docs.python.org/library/string.html
基本上,该列表变量中有一个迭代,并且每次迭代中的值都分配给w

于 2012-09-23T04:19:27.110 回答