Python で関数内のリストを変更する方法: 参照渡しまたはインプレース変更?

Patricia Arquette
リリース: 2024-10-27 06:12:03
オリジナル
744 人が閲覧しました

How to Modify a List Within a Function in Python: Pass by Reference or In-Place Modification?

関数内のリストの変更

関数内でリスト パラメーターを操作する場合、関数に渡される参照は元のリストを指します。関数内で list_arg 変数に加えられた変更はローカル スコープに限定され、元のリストには影響しません。

この問題を回避して元のリストを変更するには、要素をリストに直接割り当てる必要があります。リスト全体を新しい値に再割り当てするのではなく、以下に例を示します。

def function1(list_arg):
   a = function2()    # function2 returns an array of numbers
   list_arg[:] = list(a)

list1 = [0] * 5
function1(list1)
print(list1)  # [1, 2, 3, 4, 5]
ログイン後にコピー

この変更されたコードでは、スライス表記 list_arg[:] を使用して list(a) の要素を元のリストに割り当て、その場でリストを効果的に変更します。

インプレース変更は便利に見えるかもしれませんが、理解が難しくなり、コードを保守する開発者に混乱をもたらす可能性があることに注意することが重要です。一般に、明確さと読みやすさのために、明示的な再割り当てが好まれます。

以上がPython で関数内のリストを変更する方法: 参照渡しまたはインプレース変更?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!