Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中打印多维数组中的数据_Python_Arrays_Python 2.7_Multidimensional Array - Fatal编程技术网

如何在Python中打印多维数组中的数据

如何在Python中打印多维数组中的数据,python,arrays,python-2.7,multidimensional-array,Python,Arrays,Python 2.7,Multidimensional Array,我使用的是Python2.7,我有一个这样结构的数据列表: list=[(('a','b'),'foo',(1,2)),('c','d'),'bar',(3,4)),(('e','f'),'baz',(5,6))] 如何打印以获得此输出: (a,b) (c、d) (e,f) 我试着像这样打印它打印列表[0:[0]),但它返回((a,b),'foo',(1,2)) 然后我试着像这样打印它打印列表[0:][0][0]),但这不起作用,因为它只返回(a,b),其余的都没有 我正在寻找一个简短有效的解决

我使用的是Python2.7,我有一个这样结构的数据列表:

list=[(('a','b'),'foo',(1,2)),('c','d'),'bar',(3,4)),(('e','f'),'baz',(5,6))]

如何打印以获得此输出:

(a,b)
(c、d)
(e,f)

我试着像这样打印它
打印列表[0:[0])
,但它返回
((a,b),'foo',(1,2))

然后我试着像这样打印它
打印列表[0:][0][0])
,但这不起作用,因为它只返回
(a,b)
,其余的都没有

我正在寻找一个简短有效的解决方案,因为我将在条件中使用这个元组来检查它们是否已经存在于列表中

提前谢谢

因此您的列表如下所示(用字符串替换未定义的符号):

正常列表显示

In [136]: alist
Out[136]: 
[(('a', 'b'), 'foo', (1, 2)),
 (('c', 'd'), 'bar', (3, 4)),
 ('e', 'f', 'baz', (5, 6))]
我可以遍历列表并收集每个元组的第一个元素:

In [137]: [x[0] for x in alist]
Out[137]: [('a', 'b'), ('c', 'd'), 'e']
关闭,但最后一个元组不同。这是故意的,还是你错过了一双()

我可以定义一个小函数,在不使用()的情况下为tuple格式化字符串。它还可以区分3个元素元组和4个元素元组

def pfoo1(atuple):
    if len(atuple)==3:
        return '(%s, %s)'%atuple[0]
    else:
        return '(%s, %s)'%(atuple[:2])

In [159]: for x in alist:
     ...:     print(pfoo1(x))
     ...:     
(a, b)
(c, d)
(e, f)
In [161]: [pfoo1(x) for x in alist]
Out[161]: ['(a, b)', '(c, d)', '(e, f)']
In [162]: print('\n'.join(_))
(a, b)
(c, d)
(e, f)

所以基本上,这只是一个在列表上迭代的问题,从每个元组中提取正确的元素,并将它们格式化为一个显示字符串。

你的意思是将列表定义为:
[((a,b),'foo',(1,2)),((c,d),'bar',(3,4)),((e,f),'baz',(5,6))
?否则,做你想做的事情可能会非常困难。最后一个元素是
((e,f),'baz',(5,6))
@busybear是的,缺少括号,抱歉!是的,那是一个缺少的括号,谢谢你的通知!非常感谢你!你的第一个解决方案如我所愿!
def pfoo1(atuple):
    if len(atuple)==3:
        return '(%s, %s)'%atuple[0]
    else:
        return '(%s, %s)'%(atuple[:2])

In [159]: for x in alist:
     ...:     print(pfoo1(x))
     ...:     
(a, b)
(c, d)
(e, f)
In [161]: [pfoo1(x) for x in alist]
Out[161]: ['(a, b)', '(c, d)', '(e, f)']
In [162]: print('\n'.join(_))
(a, b)
(c, d)
(e, f)