2017-11-03 6 views
-1

は、どのように私は、関数の外リストに何かを追加することができます関数内の関数外のリスト/変数の実際の値を変更するにはどうすればよいですか?

greeting = ["Hello","Hi"] 
def addGreeting(): 
    greeting.append(raw_input("add greeting here: ")) 

私は関数内の関数の外側でリスト/変数の実際の値を変更するにはどうすればよいですか?

+0

関数に渡すか、グローバル変数を宣言することができます – yash

+0

何が問題なのですか? [no-repro](https://tio.run/##K6gsycjPM/r/P70oNbUkMy9dwVYhWskjNScnX0lHySNTKZYrJTVNITElxR2qQEPTiksBCGAa9BILClLzUjSKEsvjM/MKSks0lICq4dIKGalFqVYKSpqaXCiGcBUUZeaVaMCUaf7/n5EJAA)また、あなたの関数の始めに 'グローバルな挨拶 'をしてください – HyperNeutrino

答えて

0

まず機能をオフに呼び出すことを目的として、コードは次の作品を投稿:

greeting = ["Hello","Hi"] 

print(greeting) 

def addGreeting(): 
    greeting.append(raw_input("add greeting here: ")) 

addGreeting() 
print(greeting) 

を実際にgreetingになりますどのようなあなたが追加しました。しかし、これは非常に乱雑で暗黙的なもので、変数を与えた特定の名前に依存しています。代わりに、実行することを検討してください

def add_greeting_from_input(greetings): 
    greetings.append(raw_input("add greeting here: ")) 
    return greetings 

この機能ははるかに柔軟性があり、それが動作することについて完全に曖昧ではありません。暗黙的な振る舞いを持つ関数は、理想的にはクラスに限定されていなければなりません。

0
greeting = ["Hello", "Hi"] 

実行時に引数で置き換えられるパラメータを取る関数を設計します。

def addGreeting(list,newgreeting): 
    list.append(newgreeting) 

addGreeting(greeting,"This is a new greeting!") 
関連する問題