2017-01-30 10 views
0

以下は現在作業しているコードです。私は名前の後に2番目のデータを追加して(name1、data1)、(name2、data2)、(name3、data3)を読み込むことができます。私にこれを可能にする機能はありますか?あなたは、データが後になるまでどうなるかわからない場合は、ペアリングされたリストにデータを入力

ListOfNames.append([Name, data]) 

をまたは::

ListOfNames = [] 
while True: 
    Name = input('Input Band Member') 
    if Name != "": 
     ListOfNames.append(Name) 
    else: 
     break 

答えて

1

最後にzip()と一緒にジッパーを付けると、2つの別々のリストに情報を格納できます。

あなたはそうのように試すことができます。

namel = [] 
bandl = [] 
while True: 
    n = input("Enter Name: ") 
    if n != '': 
     d1 = input("Enter data1: ") 
     namel.append(n) 
     bandl.append(d1) 
    else: 
     break 

print(list(zip(namel, bandl))) 

デモ出力:

Enter Name: Rupee 
Enter data1: India 
Enter Name: Dollar 
Enter data1: USA 
Enter Name: 
[('Rupee', 'India'), ('Dollar', 'USA')] 

それとも、ユーザーがカンマで区切られた2つの値を入力してください場合、あなたはそのようにそれを試すことができます。

l = [] 
while True: 
    n = input("Enter Name: ") 
    if n!='': 
     l.append(n.split(',')) 
    else: 
     break 

print(l) 

デモ実行:

Enter Name: Rupee, India 
Enter Name: Dollar, USA 
Enter Name: 
[['Rupee', ' India'], ['Dollar', ' USA']] 
1

あなただけの代わりに、文字列のリストを追加し、特別な機能を必要としない

ListOfNames.append([Name]) 

、その後:

ListOfNames[x].append(data) 

xは、追加するリストのインデックスです。

また、最初に独立して2つのリストを構築したい場合は、zip()をマージすることができます。

zip(ListOfNames, data_list) 

これは、プログラムの構造によっては、適切かもしれません。どのように、いつ、どのような順序であなたのdata_listが収集されているか知らなくても、言うことは難しいです。

関連する問題