0

私は、ソート、テスト、および代入の最も効率的な方法を、Pythonでマルチ配列で見つけることを試みています。ここでPythonで多次元配列をソートする

は、マルチ配列である:ここでは、ユーザー

persons = [['Person 1', 15, 'USA', 'BLACK'], 
      ['Person 2', 12, 'AUS', 'WHITE'], 
      ['Person 3', 34, 'CAN', 'PINK'], 
      ['Person 4', 18, 'CHINA', 'BLUE']] 

の入ったデータは通じソートするための私のコードです。それは動作しません。結果: '見つからない!'

persons_profile = [] 
    for i, item in enumerate(persons): 

     persons_profile .append(item) 
     if(persons_profile [0] == 'Person 1'): 
      person_id = persons_profile [0] 
      person_age = persons_profile [1] 
      person_country = persons_profile [2] 
      person_color = persons_profile [3] 
      print "Person id", persons_profile [O] 
      some_function() 

     elif(persons_profile [0] == 'Person 2'): 
      person_id = persons_profile [0] 
      person_age = persons_profile [1] 
      person_country = persons_profile [2] 
      person_color = persons_profile [3] 
      print "Person id", persons_profile [O] 
      some_function() 

     elif(persons_profile [0] == 'Person 3'): 
      person_id = persons_profile [0] 
      person_age = persons_profile [1] 
      person_country = persons_profile [2] 
      person_color = persons_profile [3] 
      print "Person id", persons_profile [O] 
      some_function() 

     elif(persons_profile [0] == 'Person 4'): 
      person_id = persons_profile [0] 
      person_age = persons_profile [1] 
      person_country = persons_profile [2] 
      person_color = persons_profile [3] 
      print "Person id", persons_profile [O] 
      some_function() 

     else: 
      print "NOT FOUND!" 

最良ソートする方法とテストとは何であるかのアイテム0、1、マルチアレイ等しい何かのインデックス0、1、2、3で2、3?ここで

答えて

1
persons_profile.append(item) 

あなたはlist persons_profileにlist項目を入れています。

、ここで:

if persons_profile[0] == 'Person 1': 

あなたはliststrを比較しています。

そして最後には常にFalseですので、elseブランチに行く予定です。

+0

こんにちは@xi_リストnames_profile内のリスト内でstr/int型の項目を比較するにはどうすればよいですか? - Code2016 12分前 – Code2016

+1

@ Code2016あなたはリストの中に入るべきです: 'if persons_profile [0] [0] == 'Person 1':' –