2017-12-23 1 views
1

は、私が(長さ2の)リストを持っていると私はmypyを怒らせることなくリストをタプルに変換するにはどうすればよいですか?

from typing import List, Tuple 

l: List[int] = [1, 2] 
assert len(l) == 2 
t: Tuple[int, int] = tuple(l) 

タプルに変換したいどんなに私は何をすべきか、私はエラーメッセージを取得しません:

Incompatible types in assignment 
(expression has type "Tuple[int, ...]", variable has type "Tuple[int, int]") 

を私が試しましたスプライシング

t: Tuple[int, int] = tuple(l)[0:2] 
t: Tuple[int, int] = tuple(l[0:2]) 

t: Tuple[int, int] = tuple([l[0], l[1]]) 
t: Tuple[int, int] = l[0], l[1] # strangely invalid syntax, even though t = l[0], l[1] is valid 
を再現

と私はthe docsを読んだが、これをきれいに行う方法は見つかっていない。

答えて

1

タプル関数を使用しないでください。かっこの構文を使用してください。

t: Tuple[int, int] = (l[0], l[1]) 
+0

私は羊を感じる。 – McKay

関連する問題