ここではPythonにかなり新しい、Pythonのタプル文
私はPythonのタプル
reportTuple = (('Keith', 'Saturday', 10), ('Jane', 'Monday', 12))
を持っていると私は値が土曜日の場合のみが、名前と電話番号を印刷する場合。 (印刷要素0, 2
が要素1 value == Saturday
の場合のみ)
どのようにアイデアを書いてそれらをつかむように書くのですか?
ここではPythonにかなり新しい、Pythonのタプル文
私はPythonのタプル
reportTuple = (('Keith', 'Saturday', 10), ('Jane', 'Monday', 12))
を持っていると私は値が土曜日の場合のみが、名前と電話番号を印刷する場合。 (印刷要素0, 2
が要素1 value == Saturday
の場合のみ)
どのようにアイデアを書いてそれらをつかむように書くのですか?
ループ、中央の要素の値をチェック:
for i in reportTuple: # Loop through each element of reportTuple
if i[1] == "Saturday": # Is the day Saturday?
print(i[0]) # Print name
print(i[2]) # Print number
可能性があり、私のようにkここに何の問題があったの? forループですか?あなたはリスト内包でこれを行うことができます
:
はるかにエレガントに、私が持っているよりも、これを行うためにいくつかの魔法の方法は、ほぼ確実に存在しているので、私は非常にカジュアルなPythonのユーザーだけど、私はこれを試み、それが働いた:
reportTuple = (('Keith', 'Saturday', 10), ('Jane', 'Monday', 12))
for report in reportTuple:
if report[1] == 'Saturday':
print(report[0], report[2])
プリント
を配列によるKeith 10
はJunapaの修正と最初のリストを更新しました。
print(*("{}: {}".format(name,number) for (name, day, number) in reportTuple if day == 'Saturday'))
あなたは、リスト内のif文の結果を保存したい場合、あなたはあなた
を返します['{} {}'.format(name, number) for (name, day, number) in reportTuple if day == 'Saturday']
を行うことができます
Keith 10
をプリントアウトします
['Keith 10']
もし彼がそれを望むなら、それはここにあります。そうでなければ、彼が使うことができる他の答えがあります。私は最初にPythonを学び始めたときにリスト内包表記が本当に好きなので、リストの理解度を彼またはランダムな通行人にも追加すると思いました。 – Aur
内部からの印刷は難しいフォームです。理解は機能的な構造であり、人々はその中に副作用を期待していません。そうでない場合は、reportTupleのday == '土曜日'の場合は(name、day、number)の書式(name()、{})) ' –