2012-04-25 8 views
1

は私が同じ長さのタプルのタプルの最後の列を「切り捨てる」方法はありますか?

x = ((1, 2), (4, 5), (7, 8)) 

に取得するにはどうすればよい

x = ((1, 2, 3), (4, 5, 6), (7, 8, 9)) 

があると?

私はタプルに戻って変換し、リストの内包表記を使用していた考え出した唯一の方法:

x = tuple([n[1:len(n)] for n in x]) 

しかし、私はそれはそれを行うための醜い方法だと感じ...

+3

私はあなたが意味だと思う '[:-1]'。また、あなたが使っているものは、実際に 'tuple'が必要な場合は' tuple'に変換する必要があります。 – agf

答えて

8
In [1]: x = ((1, 2, 3), (4, 5, 6), (7, 8, 9)) 

In [2]: tuple(a[:-1] for a in x) 
3

あなたは発電機を使用することができます代わりに(ほぼ同じものです)リスト内包の発現:

x = tuple(n[1:] for n in x) 

注しかし、これはあなたが上記の持っていた何を与えないということ。あなたが最後をカットしたい場合は、実際に実行する必要があります。

x = tuple(n[:-1] for n in x) 
+0

最初の例を示す必要はないと思います。 – jamylak

関連する問題