あなたのコード
temp = [] # empty list
temp.append((i['lastname'])) # list with one element
temp.sort() # list is already sorted (since it just has one element)
print(temp)
はたぶん、あなたはこのような何かをしたかったですあなたがしようとしていることはしません。アイテムを取得するたびにアイテムを印刷しても、各繰り返しで空のリストが生成されます。
あなたはさらにそれを印刷したい場合は、それを反復処理、その後、それを並べ替え、それに追加し、関数本体では、ループの前にリストを作成したい
:
def generateList(attendeeList, criteria, workshoptitle):
temp = []
if criteria == 'Workshop1':
criteria = 'Workshop B'
for i in attendeeList:
if i['session1'] == criteria :
temp.append(i['lastname'])
temp.sort()
for item in temp:
print(item)
return temp
例で実行IPython:
In [7]: generateList([dict(session1="Workshop B",lastname="test1"), dict(session1="Workshop A", lastname="test2"), dict(session1="Workshop B", lastname="test3")], "Workshop1", ...)
test1
test3
Out[7]: ['test1', 'test3']
私の体温がループの内側にあるためですだから毎回変数を作り直して1つ入れて繰り返していたのですか? – MuthaCluffer
@MuthaClufferはい正確に – Anonymous
@MuthaClufferうん、新しい空リストを毎回「temp」に割り当てていた。 – Tagc