Удаление двоеточия
Тип result.a.img['src']
- str
, строка. Вы вызываете метод str.split()
, который возвращает список. Это были скобки.
AFAIK в Python нет метода для типа list
для возврата последнего элемента. Итак, вы застряли с прямым доступом (с использованием обозначения [i]
). Как вы и подозревали, есть уловка, позволяющая получить последний элемент списка, не зная, сколько их, и это list[-1]
без двоеточия (:
), как предложил Джон Клементс . Остается
img_elem = result.a.img['src'].split('/')[-1]
Распаковка
Другой способ - использовать распаковку / деструктуризацию, например
elements = [1, 2, 3, 4, 5]
first_element, *after_first = elements # first_element=1, after_first=[2,3,4,5]
*before_last, last_element = elements # before_last=[1,2,3,4], last_element=5
first_element, *middle, last_element = elements
В этих примерах after_first
, before_last
и middle
все содержат список (обратите внимание на *
), а их противоположные части содержат сам элемент, не будучи обернутым в список.
В вашем случае у вас будет что-то как
*rest_of_the_path, img_elem = result.a.img['src'].split('/')