如何在Python中从列表中打印单独的项目?

时间:2014-10-28 19:20:39

标签: python list

例如我有一个列表

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)?

5 个答案:

答案 0 :(得分:3)

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 

答案 1 :(得分:2)

print([data[0][0]] + data[0][2:4])

答案 2 :(得分:1)

如果您希望打印来自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

答案 3 :(得分:0)

如果要忽略某些索引,可以使用enumerate

" ".join([str(i) for ind,i in enumerate(data[0][0:4]) if ind != 1])

答案 4 :(得分:0)

这是我的看法:

>>> 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]