Достъп до конкретни записи в кортеж на python

В кортеж на Python искам да получа достъп до първия запис. Мога да направя това, като напиша:

example_tuple[0]

Сега този първи запис е масив от float. От този масив искам да получа всички записи с изключение на последния. Както е описано тук, направих това, като написах:

example_array[:-1]

Сега искам да подредя тези две функции и го изпробвах със следната команда:

example_tuple[0[:-1]]

Това води до следната грешка:

TypeError: 'int' object is not subscriptable

Не съм сигурен какво не е наред, тъй като в това няма цяло число.


person riyansh.legend    schedule 01.02.2020    source източник
comment
опитай example_tuple[0][:-1]   -  person Shubham Shaswat    schedule 01.02.2020
comment
@ShubhamShaswat Да. Това работи перфектно за мен. Благодаря ти.   -  person riyansh.legend    schedule 01.02.2020


Отговори (1)


Като напишете:

example_tuple[0[:-1]]

Python се опитва първо да изчисли какво е вътре в скобата, тоест 0[:-1]. Това обяснява грешката:

TypeError: 'int' object is not subscriptable

Опитвате се да получите достъп до 0 като масив.

Както каза @ShubhamShaswat, за достъп до масив в масив, трябва да получите първия и да получите достъп до стойността, която искате в него:

example_tuple = [[5.7, 2.9, 7.9], [0.1, 4.2], [1.2]]

### Using 2 steps ###
# temp_var equals [5.7, 2.9, 7.9]
temp_var = example_tuple[0]
# output: [5.7, 2.9]
print(temp_var[:-1])

### Which can be shortened in Python by assembling array access ###
# output: [5.7, 2.9]
print(example_tuple[0][:-1])
person undebutant    schedule 01.02.2020