0

while ループを使用して Python のリストから読み込もうとしていますが、取得できないようです。リスト インデックスが範囲外というエラーが発生し続けます。

これはリストです:

names = [['Bilbo', 'Baggins'], ['Gollum'], ['Tom', 'Bombadil'], ['Aragorn']]

for ループを使用する代わりに:

for person in people:     
    to_print = "" 
    for name in person: 
        to_print += name + " " 
    print(to_print)
4

3 に答える 3

1

Python リストを使用する場合、インデックスは必要ありません。

for bunch_of_names in names:
    if len(bunch_of_names) > 1: # e.g. bunch_of_names = ['Bilbo', 'Baggins']
        print 'First name:', bunch_of_names[0], 'Last name: ', bunch_of_names[1]
    else: # e.g. ['Aragorn']
        print 'Name: ', bunch_of_names[0] # the only one
于 2013-04-26T01:44:51.270 に答える