2016-03-25 10 views
1

私は3以下のリストや値(国[I])をと私が利用可能なすべてのタプルに同じ国[I]を追加したいのリストに同じ変数を追加:タプル

name = ["a", "b", "c"] 
age = [1, 2, 3] 
city = ["aaa", "bbb", "ccc"] 
country[i] 

[(('a', 1, 'aaa', 'U'),), (('b', 2, 'bbb', 'n'),), (('c', 3, 'ccc', 'i'),)] 

Whを:実行すると

user_info = [tuple((t,)) for t in zip(name, age, city, country[i])] 

私は以下の結果を得た:国[i]が "米国" に等しい、と私は次のコードを使用

私が欲しいものILEは次のとおりです。

[('a', 1, 'aaa', 'United States'), ('b', 2, 'bbb', 'United States'), ('c', 3, 'ccc', 'United States)] 

答えて

2

あなたが "手動" 項目のそれぞれにそれを追加することができます。

v = (country[i],) 
[t + v for t in zip(name, age, city)] 

はデモ:国以来

>>> country = ["United States"] 
>>> i = 0 
>>> name = ["a", "b", "c"] 
>>> age = [1, 2, 3] 
>>> city = ["aaa", "bbb", "ccc"] 
>>> v = (country[i],) 
>>> [t + v for t in zip(name, age, city)] 
[('a', 1, 'aaa', 'United States'), ('b', 2, 'bbb', 'United States'), ('c', 3, 'ccc', 'United States')] 
0

[i]が "ちょうどです米国の場合は、forループを使用して文字列をステップ実行します。だからあなたはそれぞれの手紙を一つ手に入れます。国のリストは、都市のリストと同じくらい長くする必要があります。

だから、

country[i] = ["United States"]*3 

country[i] = ["United States", "United States", "United States"] 

または容易にする必要がありますかあなたはたぶん、あなたは国のリストを持って、あなただけの1

1
result = [my_tuple + ('United States',) for my_tuple in zip(name, age, city)] 

を持っている場合は、国をステップ実行いけません、次に

result = [my_tuple + (country,) for my_tuple in zip(name, age, city) for country in countries]