このPythonコードは何を意味していますか? Pythonを初めて使う人。 THX!このPythonコードは何を意味していますか?
benchmark_sets_list = [
'%s: %s' %
(set_name, benchmark_sets.BENCHMARK_SETS[set_name]['message'])
for set_name in benchmark_sets.BENCHMARK_SETS]
このPythonコードは何を意味していますか? Pythonを初めて使う人。 THX!この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_sets.BENCHMARK_SETS
からセット名をつかむだろうし、それがset_name
変数に一つずつそれらを維持します。その後
set_name
が値を持つことになりますので、... ...
(set_name, benchmark_sets.BENCHMARK_SETS[set_name]['message'])
この行から値を知ることができるようになります。その部分は2つのもの、set_name
とbenchmark_sets.BENCHMARK_SETS[set_name]['message']
を返します。おそらくその2つのものは両方の文字列になります。
はその後、あなたがこの行に表示さ%s
たものは...
'%s: %s' %
は...それぞれset_name
とbenchmark_sets.BENCHMARK_SETS[set_name]['message']
の値に置き換えられます。これは、このような文字列を生成します: "foo:bar"、 "foo"の値がset_name
、 "bar"の値がbenchmark_sets.BENCHMARK_SETS[set_name]['message']
です。
あなたがそこに何が起こったかを理解するためには、これは簡単な例です:、
"%s %s %s" % (first_elem, second_elem, third_elem)
コードがsecond_elem
の値でfirst_elem
二%s
の値を持つ最初の%s
に置き換えられます第3の%s
の値はthird_elem
です。
最後に、その文字列が構築されているリストに追加されます。最終的には、これとほぼ同じようなリストが表示されます:
["foo: bar", "wop: wap", "bing: bang"]
このような詳細のためにヴィセンテに感謝します!今分かります。 実際に私の質問は、どのようにパイソンの人は、リスト(または配列)に値を代入する "クール"な方法ですか? チュートリアルのリンクを教えてください。 従来の方法では、常にfor()またはwhile()ループがあります。 – MartinGGWW
これは「リストの理解」と呼ばれ、次の構文を持っています。 'L = [連続する変数の式]'。あなたの例では、 "式"は%s:%s "%(...)'部分です。そして、 'set_name for whatever'の部分も持っています。私はあなたのサンプルコードをその構文とマッチさせることができると確信しています:-)あなたはGoogleに "python list comprehension"について話すことができ、チュートリアルや例が見つかります。 –
大変!どうもありがとうございます!それはまさに私が知りたいことです。 私はちょうど徹底的に勉強する時間は、Pythonコードにジャンプします。それはほとんどの部分のために読むことができます。これは例外です。 – MartinGGWW
もっと文脈を提供してください。 – DeA
は、誰かが知りません、どのようにPythonでプログラミングするのですか – Daniel
あなたはどのように知っていますか?:) – MartinGGWW