Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这个python代码是什么意思?_Python - Fatal编程技术网

这个python代码是什么意思?

这个python代码是什么意思?,python,Python,这个python代码是什么意思?python新手。谢谢 benchmark_sets_list = [ '%s: %s' % (set_name, benchmark_sets.BENCHMARK_SETS[set_name]['message']) for set_name in benchmark_sets.BENCHMARK_SETS] 这部分 for set_name in benchmark_sets.BENCHMARK_SETS …将从benchmark\u s

这个python代码是什么意思?python新手。谢谢

  benchmark_sets_list = [
  '%s:  %s' %
  (set_name, benchmark_sets.BENCHMARK_SETS[set_name]['message'])
  for set_name in benchmark_sets.BENCHMARK_SETS]
这部分

for set_name in benchmark_sets.BENCHMARK_SETS
…将从
benchmark\u set.benchmark\u set
中获取集合名称,并将它们逐个保存到
set\u name
变量中

在那之后,它将能够知道这条线的值

(set_name, benchmark_sets.BENCHMARK_SETS[set_name]['message'])
'%s:  %s' %
…因为
set\u name
将有一个值。该部分将返回两个内容,
set\u name
benchmark\u set。benchmark\u set[set\u name]['message']
。可能这两件事都是字符串

然后,您在这行中看到的
%s

(set_name, benchmark_sets.BENCHMARK_SETS[set_name]['message'])
'%s:  %s' %
…将替换为
set\u name
benchmark\u set的值。benchmark\u分别设置[set\u name][message']
。这将生成如下字符串:“foo:bar”,即“foo”是
set\u name
的值,“bar”是
benchmark\u set的值。benchmark\u set[set\u name][message']

为了让您了解那里发生了什么,下面是一个简单的示例:

“%s%s%s”%(第一要素、第二要素、第三要素)

该代码将用
第一个元素的值替换第一个
%s
,用
第二个元素的值替换第二个
%s
,用
第三个元素的值替换第三个
%s

最后,该字符串将被添加到正在构造的列表中。因此,在最后,您将有一个或多或少类似于此的列表:

["foo: bar", "wop: wap", "bing: bang"]

你能提供更多的上下文吗?意思是,有人不知道,如何用Python编程你知道吗?:)非常感谢Vicente提供这些细节!现在我明白了。事实上,我的问题是,python的家伙们怎么称呼这种为列表(或数组)赋值的“酷”方法?你能给我一个教程链接吗?因为在传统的方式中,总是有一个for()或while()循环要执行,所以称为“列表理解”,它具有以下语法:
L=[expression for variable in sequence]
。在您的示例中,“表达式”是
“%s:%s”%(…)
部分。然后在任何
部分中都有set_name的
。我相信您能够将示例代码与该语法相匹配:-)您可以在谷歌上搜索“python列表理解”,您将找到教程和示例。太棒了!非常感谢你!这正是我想知道的。我只是跳进python代码,没有时间做彻底的研究。大多数部分都可读。这是一个例外:)没问题。如果您仍然无法理解它是如何工作的,请看这个示例:
doubles=[1,2,3]]中的x为[x*2]
。这将生成以下列表:
[2,4,6]
。它将取
1
,将其乘以2(
x*2
),并将其添加到正在构建的阵列中。然后是
2
,最后是
3
。易于理解:-)