如何在Python中打印多维数组中的数据
我使用的是Python2.7,我有一个这样结构的数据列表:如何在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),其余的都没有 我正在寻找一个简短有效的解决
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)