2017-06-12 44 views
-5

我有阵列的列表看起来像这样:转换和格式列表,元组

c = [ 
[ 
    [ 
    [670515.231, 6577538.931, 51.703], 
    [670486.853, 6577531.536, 51.703], 
    [670488.927, 6577523.577, 51.703], 
    [670517.305, 6577530.971, 51.703], 
    [670515.231, 6577538.931, 51.703] 
    ] 
] 
] 

而且我想/格式转换到阵列的一个元组:S:

new_c =(
    [670515.231, 6577538.931, 51.703], 
    [670486.853, 6577531.536, 51.703], 
    [670488.927, 6577523.577, 51.703], 
    [670517.305, 6577530.971, 51.703], 
    [670515.231, 6577538.931, 51.703]) 

这样做的最佳方法是什么?

+3

你想'元组(C [0] [0] )'? – ozgur

+0

只是为了澄清:从技术上讲,这些列表不是数组。 :) – MSeifert

回答

2
>>> c = [ 
... [ 
... [ 
...  [670515.231, 6577538.931, 51.703], 
...  [670486.853, 6577531.536, 51.703], 
...  [670488.927, 6577523.577, 51.703], 
...  [670517.305, 6577530.971, 51.703], 
...  [670515.231, 6577538.931, 51.703] 
... ] 
... ] 
... ] 

>>> new_c = tuple(c[0][0]) 

>>> pprint(new_c) 
([670515.231, 6577538.931, 51.703], 
[670486.853, 6577531.536, 51.703], 
[670488.927, 6577523.577, 51.703], 
[670517.305, 6577530.971, 51.703], 
[670515.231, 6577538.931, 51.703]) 
1

你可以这样做:

c_tuple = tuple(c[0][0]) 

如果列表中的嵌套深度是每个情况不同:

tmp = c 
while len(tmp) == 1: 
    tmp = tmp[0] 

c_tuple = tuple(tmp)