如何从Python列表中打印单独的项目?
比如我有一个列表如何从Python列表中打印单独的项目?
data=[[1, 2, 3, 4, 5, 6, 7], [2, 4, 3, 6, 5]]
我想从数据 的第一阵列打印数字1,3,4,我找不到我怎么可以打印 到目前为止我的代码
print(data[0][0:4])
我该如何让它不打印2(我使用Python 3.2)?
In [288]: data=[[1, 2, 3, 4, 5, 6, 7], [2, 4, 3, 6, 5]]
In [289]: for i in [0,2,3]:
.....: print(data[0][i], end=' ')
.....:
1 3 4
的括号。最后可能需要一个额外的'print()'。但除此之外,非常好的方式来显示这一点,没有任何新手不友好的简化。 – abarnert 2014-10-28 19:26:00
print([data[0][0]] + data[0][2:4])
这将给出一个'TypeError';你用一个整数连接一个列表。 – 2014-10-28 19:22:38
我忘记了'data [0] [0]' – RPGillespie 2014-10-28 19:24:42
如果你想让它从data[0][0:4]
打印的一切,是不是数字2
,你可以这样做:
print([x for x in data[0][0:4] if x != 2])
这可以扩展到,例如,甚至没有打印数字:
print([x for x in data[0][0:4] if x % 2 != 0])
如果您想“片围绕着”不管是在data[0][1]
,你可以将两者连接起来片周围:
print(data[0][0:1] + data[0][2:4])
这也可以扩展到,例如,从[1:3]
而不是仅仅[1:2]
删除整个片段:
print(data[0][0:1] + data[0][3:4])
虽然它不适用于消除不连续的组(如索引1,3或8中的任何内容);为此,你可能需要enumerate
。
如果你想忽略某些指标,你可以使用enumerate
:
" ".join([str(i) for ind,i in enumerate(data[0][0:4]) if ind != 1])
这是我对此采取:
>>> import pyexcel as pe
>>> data=[[1,2,3,4,5,6,7],[2,4,3,6,5]]
>>> m=pe.sheets.MultipleFilterableSheet(data)
>>> # get rid of other columns
>>> m.filter(pe.filters.ColumnFilter([1,4,5,6]))
>>> print(pe.utils.to_array(m))
[[1, 3, 4], [2, 3, 6]]
>>> print m.row[0]
[1, 3, 4]
>>> print m.row[0][0:3]
[1, 3, 4]
边注:开关到Python 3.3或3.4 – inspectorG4dget 2014-10-28 19:25:03
这是什么逻辑后面忽略了这些值?我的意思是你想要达到什么目的? – karthikr 2014-10-28 19:25:42