Python 对于“后有2个变量的循环”;在;
我对下面的说法感到困惑Python 对于“后有2个变量的循环”;在;,python,Python,我对下面的说法感到困惑 for sentence in snippet, phrase. 为什么“in”后面有两个项目 完整代码 def convert(snippet, phrase): class_names = [w.capitalize() for w in random.sample(WORDS, snippet.count("%%%"))] other_names = random.sample(WORDS, snippet.
for sentence in snippet, phrase.
为什么“in”后面有两个项目
完整代码
def convert(snippet, phrase):
class_names = [w.capitalize() for w in
random.sample(WORDS, snippet.count("%%%"))]
other_names = random.sample(WORDS, snippet.count("***"))
results = []
param_names = []
for i in range(0, snippet.count("@@@")):
param_count = random.randint(1,3)
param_names.append(', '.join(random.sample(WORDS, param_count)))
for sentence in snippet, phrase:
result = sentence[:]
# fake class names
for word in class_names:
result = result.replace("%%%", word, 1)
# fake other names
for word in other_names:
result = result.replace("***", word, 1)
# fake parameter lists
for word in param_names:
result = result.replace("@@@", word, 1)
results.append(result)
return results
这是元组的另一种语法(语法糖),元组是一个不可变的数据容器。你可以这样写:
for something in (1,2,3,4):
但在这种情况下,可以省略括号,从而得到:
for something in 1,2,3,4:
这也是有效的语法
要尝试的示例: 打印以下内容:
1
2
3
4
这只是一个两程的循环。在第一次迭代中,
语句
被设置为片段
。在第二次迭代中,语句
设置为短语
下面是一个简单的例子:
>>> for x in "a", "b":
... print(x)
...
a
b
>>>
for循环只是遍历iterable集合中的每个项。因此,范围(5)返回0到5之间的所有项的iterable集合。for循环使您可以访问它
>>> for x in range(5):
... print(x)
...
0
1
2
3
4
>>>
你的意思是for循环选择了snippet和phrase,然后运行循环?@Liuyang,它选择了第一个snippet,然后是phrase。谢谢你的回答。我也很困惑代码片段和短语的功能是什么?@Liuyang,我不知道,因为代码片段和短语是函数参数,所以你决定它们应该包含什么,我理解。非常感谢你!使用
snippet、phrase
可以创建一个可以迭代的元组。您可能更熟悉这样的内容:(片段、短语)
>>> for x in range(5):
... print(x)
...
0
1
2
3
4
>>>