2

メソッドが呼び出されるたびにリストまたは辞書の新しいインスタンスを作成するにはどうすればよいですか? 私がやりたいことを比較できる最も近いのはnew、JavaまたはC#のキーワードです

4

4 に答える 4

2

これらの関数は既に定義されており、組み込み型のコンストラクター(辞書とリスト) があります。

x = dict()
y = list()

これは Java の

Map x = new TreeMap(); // or other dictionary implementation
List y = new ArrayList(); // or other list implementation
于 2013-08-14T05:11:53.120 に答える
0

辞書の例:

def create_dict():
    return {}

リストの例:

def create_list():
    return []

使用法:

a = create_dict() #for a new empty dictionary
b = create_list() # for new empty list

これはすべて機能しますが、現状ではそれほど有用ではありません。

于 2013-08-14T04:38:25.543 に答える
0

デフォルトのリストがあり、それ自体を変更せずLに等しいリストで作業していることを確認したい場合、ローカル変数を に初期化できます。そうですか?LLlist(L)

于 2013-08-14T04:38:32.093 に答える
0

最も一般的な方法は(断然)次のとおりです。

y= []    # new empty list
x= {}    # new empty dictionary

なぜそんなに短いのですか?この言語では、このような高レベルのデータ構造の使用が推奨されているためです。

Python では、コンストラクターはクラスの名前 (Java など) で呼び出されますが、newその他のキーワードは必要ありません。別の回答で述べたように、これにより次の構文も有効になります。

x= list()
y= dict()

ただし、実際にそれらを見つけることはめったにありません。

リスト リテラル ( など[1,2,3,4]) は、新しいリストを作成し、事前に入力します。辞書リテラル ( など{'Red':'Rojo','Yellow':'Amarillo','Green':'Verde'}) は、新しい辞書を作成し、それらにも事前入力します。

セット リテラル ( など{'Morning','Afternoon','Evening','Night'}) も有効です。ただし、空のセットは として作成する必要がありますset()。構文{}は、より一般的な空の辞書を作成するために予約されています。

于 2013-08-14T05:14:43.610 に答える