2014-10-28 5 views
0

, например, у меня есть списокКак распечатать отдельные элементы из списка в 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) ??

+0

Side Примечание: Переход на питон 3,3 или 3,4 – inspectorG4dget

+3

что логика за исключением значений? Я имею в виду, чего вы пытаетесь достичь именно? – karthikr

ответ

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 
+0

Возможно, вам понадобится дополнительный 'print()' в конце. Но в остальном очень хороший способ продемонстрировать это без каких-либо непримиримых упрощений. – abarnert

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

Это даст 'TypeError'; вы объединяете список с целым числом. –

+0

Я забыл скобки вокруг 'data [0] [0]' – RPGillespie

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.

0

Если вы хотите игнорировать определенные индексы, вы можете использовать enumerate:

" ".join([str(i) for ind,i in enumerate(data[0][0:4]) if ind != 1]) 
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] 
Смежные вопросы