サンプルコード1とその結果を示します。py3.xのlist()と[]の実装の違いは何ですか?
d ={
"name":"looser",
"roll":6666,
"profile" : "developer"
}
print("list formatted dict is {}".format([d]))
for k,v in [d.items()]:
if d[k] is "developer":
d.pop(k)
else:
print(k)
結果:ここ
list formatted dict is [{'name': 'looser', 'roll': 6666, 'profile': 'developer'}]
Traceback (most recent call last):
File "/Users/rough/try.py", line 18, in <module>
for k,v in [d.items()]:
ValueError: too many values to unpack (expected 2)
Process finished with exit code 1
は、改変された形態を有するサンプルCODE2あります。
d ={
"name":"looser",
"roll":6666,
"profile" : "developer"
}
print("list formatted dict is {}".format([d]))
for k,v in list(d.items()):
if d[k] is "developer":
d.pop(k)
else:
print(k)
結果:人々は差がない私に言う多くの場所で
list formatted dict is [{'name': 'looser', 'roll': 6666, 'profile': 'developer'}]
name
roll
Process finished with exit code 0
、それは何の違い、なぜこのような結果が存在しない無difference.Ifがない事実です。
1は の私の問題を解決しているので**例外RuntimeError:以外の
a = list()
と
a = []
:辞書にはほとんど差があります**反復中
反復を 'list'に強制することは、一つの項目(それが何であれ)を' list'に入れることと同じではありません。 –
コメントは議論の延長ではありません。この会話は[チャットに移動]されています(http://chat.stackoverflow.com/rooms/161729/discussion-on-question-by-theexorcist-what-is-the-difference-between-implementat)。 – deceze