Как разрезать кортеж с помощью индексов переменных, выводить в виде текстового списка

Я использую Ubuntu 18.04 и Python 3.8

Мне нужен tuple_slice () для выполнения двух действий:

  • разрезать входной кортеж между заданным началом и всеми ПЕРЕД конечными индексами
  • Объединить эти значения в виде строки, разделенной запятыми

Я смог сделать второе part

def tuple_slice(startIndex, endIndex, tup):
    tup = tup[startIndex:endIndex]
    print(tup)
    my_list = list(tup)#= [34, 13, 64]  # I want to derive this using indexes
    print(my_list)
    my_string = ','.join(map(str, my_list))
    print(my_string)
    return my_string

if __name__ == "__main__":
    print(tuple_slice(1, 4, (76, 34, 13, 64, 12)))

Пример, я хочу: 1-й и 2-й параметры - это индексы, 3-й параметр - это кортеж.

tuple_slice(1, 4, (76, 34, 13, 64, 12))

для возврата:

34,13,64
0
задан 2 May 2021 в 14:45

1 ответ

я думаю, что вы сверхусложняете вещи немного, вы можете сделать это за один шаг:

#!/usr/bin/env python3

def tuple_slice(start, end, tup):
    print(", ".join (str(n) for n in tup[start:end]))


tuple_slice(1, 4, (76, 34, 13, 64, 12))

Шоу:

34, 13, 64

Или подобный, если вы нуждаетесь или хотите последовательность для последующей обработки:

#!/usr/bin/env python3

def tuple_slice(start, end, tup):
    return ", ".join (str(n) for n in tup[start:end])


print(tuple_slice(1, 4, (76, 34, 13, 64, 12)))
-2
ответ дан 7 May 2021 в 17:41

Другие вопросы по тегам:

Похожие вопросы: