这个python代码是什么意思?

时间:2016-08-30 22:33:43

标签: python

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

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

1 个答案:

答案 0 :(得分:1)

这部分......

benchmark_sets.BENCHMARK_SETS

...将从set_name获取设置名称,并将它们逐个保存到(set_name, benchmark_sets.BENCHMARK_SETS[set_name]['message']) 变量中。

之后,它将能够知道此行中的值......

set_name

...因为set_name会有一个值。该部分将返回两件事benchmark_sets.BENCHMARK_SETS[set_name]['message']%s。可能这两件事都是字符串。

然后,你在这一行中看到的那些'%s: %s' % ......

set_name

...将分别替换为benchmark_sets.BENCHMARK_SETS[set_name]['message']set_name的值。这将产生一个像这样的字符串:" foo:bar"," foo" benchmark_sets.BENCHMARK_SETS[set_name]['message']和" bar"的值"%s %s %s" % (first_elem, second_elem, third_elem)的价值。

为了让你了解那里发生的事情,这是一个简单的例子:

%s

该代码会将第一个first_elem替换为值%s第二个second_elem,其值为%s,第三个third_elem替换为["foo: bar", "wop: wap", "bing: bang"] 价值public static void main(String[] args) { Scanner input = new Scanner(System.in); int min; int max; long total; int val; System.out.println("First Integer "); val = input.nextInt(); min = val; max = val; total = val; System.out.println("Second Integer "); val = input.nextInt(); min = Math.min(val, min); max = Math.max(val, max); total += val; System.out.println("Third Integer "); val = input.nextInt(); min = Math.min(val, min); max = Math.max(val, max); total += val; System.out.println("Fourth Integer "); val = input.nextInt(); min = Math.min(val, min); max = Math.max(val, max); total += val; System.out.println("Fifth Integer "); val = input.nextInt(); min = Math.min(val, min); max = Math.max(val, max); total += val; System.out.println("Maximum is " + max); System.out.println("Minimum is " + min); System.out.println("Mean is " + total / 5.0); }

最后,该字符串将被添加到正在构建的列表中。所以,最后你会得到一个或多或少像这样的列表:

{{1}}