リストを関数に渡した後、関数はリストの内容に直接アクセスできます。
専門家のグループがあり、彼らをセミナーに招待したいとします。
def send_invitation(experts): '''发送邀请函''' for expert in experts: print(expert + ',您好,现邀请您参加 XX 研讨会...') experts = ['小明', '小红'] send_invitation(experts)
実行結果:
こんにちは、シャオミンさん、XX セミナーへの参加に招待されました…
こんにちは、ファン・リリさん、今から参加に招待されていますXX セミナーで予定...
リスト パラメータが関数に渡された後、関数はリスト パラメータを変更できます。
注: 関数内のリストに加えられた変更は永続的です。
def send_invitation(experts, informed): '''发送邀请函,并移动列表数据到【已通知】列表''' while experts: expert = experts.pop() print(expert + ',您好,现邀请您参加 XX 研讨会...') informed.append(expert) experts = ['小明', '小红'] # 专家列表 informed = [] # 已通知人员列表 print('执行前:experts=' + str(experts) + ',informed=' + str(informed)) send_invitation(experts, informed) print('执行后:experts=' + str(experts) + ',informed=' + str(informed))
実行結果:
実行前:experts=['Xiao Ming', 'Xiao Hong']、informed=[]
こんにちは、Xiaohong さんXX セミナーへの参加に招待されました...
Xiaoming さん、XX セミナーへの参加に招待されました...
実行後: Experts=[],informed= [' Xiaohong', 'Xiaoming']
コメントがなくても、説明的な関数名を使用すると、関数によって実行される作業を明確に表現できます。
関数内で別の関数を呼び出すこともできます。これにより、複雑なタスクを一連のステップに分割し、プログラムを読みやすくすることができます。
関数が渡されたリストを変更したくない場合があります。
この場合、リストのコピーを渡すことができます。関数へ:
experts = ['小明', '小红'] # 专家列表 informed = [] # 已通知人员列表 print('执行前:experts=' + str(experts) + ',informed=' + str(informed)) send_invitation(experts[:], informed) print('执行后:experts=' + str(experts) + ',informed=' + str(informed))
実行結果:
実行前: Experts=['Xiao Ming', 'Xiao Hon']、informed=[]
シャオホン、こんにちは。現在、XX セミナーに招待されています...
こんにちは、シャオミン、現在、XX セミナーに招待されています...
実行後: Experts=[' Xiao Ming', 'Xiao Hon'] ,informed=['小红', '小明']
リストのコピーを関数に渡すと、元のリストの内容を保持できますが、
そうする正当な理由がない限り、そうしてください。
関数に渡されたリストを使用させると、メモリ内にコピーを作成するのに時間を費やすことがなくなり、パフォーマンスが向上するためです。これは、大規模なデータのリストを扱う場合に特に重要です。
以上がPython関数でリストを渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。