2016-08-01 5 views
-4
私は2番目の要素への最初の要素から、タプルのリストを使用して機能をしたいのですが

、私は次のような結果が欲しい Pythonでタプルのリストから関数を作るには?

Tuplelist = [(1, 17), (2, 13), (3, 17), (4, 4), (5, 12), (6, 10), (7, 20), (18, 36), (22, 12), (23, 39)] 

は:

func(1)=17 
func(2)=13 
func(3)=17 
func(4)=4 
... 

それは簡単なようだが、私ウェブ上で関連する質問を見つけることができません。 ありがとうございます!

+0

http://stackoverflow.com/help/mcve – Abhineet

+0

というスピードで負けます再尋ねる。辞書のような単純なものが必要なのでしょうか? – Matthias

+0

はい、これはちょうど辞書が必要です... –

答えて

1
def func(item): 
    return dict(Tuplelist)[item] 

またはより良い、それはあなたが扱うしようとしているすべての値-結果である場合は

dictTuplelist = dict(Tuplelist) 
def func(item): 
    return dictTuplelist[item] 

print func(1), func(2), func(3) 
# 17 13 17 
0

、辞書に関数を呼び出すたびに作成したくない場合は、 dictionaryは、あなたがそれの機能が

01としてシンプルであることを確認したい場合は

>>> Tuplelist = [(1, 17), (2, 13), (3, 17), (4, 4), (5, 12), (6, 10), (7, 20), (18, 36), (22, 12), (23, 39)] 
>>> my_map = dict(Tuplelist) 
>>> my_map[1] 
17 
>>> my_map[5] 
12 
>>> my_map[23] 
39 

を必要とするものですとにかく

または

def my_fun(key): 
    Tuplelist = dict([(1, 17), (2, 13), (3, 17), (4, 4), (5, 12), (6, 10), (7, 20), (18, 36), (22, 12), (23, 39)]) 
    return Tuplelist[key] 

または

MyValues = dict([(1, 17), (2, 13), (3, 17), (4, 4), (5, 12), (6, 10), (7, 20), (18, 36), (22, 12), (23, 39)]) 

def my_fun(key): 
    return MyValues[key] 

のようないくつかの他のバリエーションそれはあなたが必要なすべてのであれば、私はより多くで同じことを行う機能を作り、直接ではなく、その辞書を使用します制限的な方法です。

ます。また、リスト内の単純な線形検索を行うことができますが、これはそれは何はっきりしていない辞書のオファー

Tuplelist = [(1, 17), (2, 13), (3, 17), (4, 4), (5, 12), (6, 10), (7, 20), (18, 36), (22, 12), (23, 39)] 

def my_func(key): 
    for k,v in Tuplelist: 
     if k == key: 
      return v 
関連する問題