Как извлечь элемент за элементом из списка и выполнить с ним новую функцию - PullRequest
0 голосов
/ 19 июня 2020

Как выполнить новую функцию для каждого элемента из posts_list = [] скажем, у меня есть эта функция

def hello():
    print('Hello post from posts_list')

, и я хочу дать ее каждому элементу на posts_list = []

titles = driver.find_elements_by_xpath("//*[@class='item__ad--title']")
posts_list = []
def xxx():
    for title in titles:
        x = title.get_attribute('href')
        posts_list.append(x)

        for p in posts_list:
            print(f"this is {p}")
    print(len(posts_list))

    xxx()

Ответы [ 2 ]

2 голосов
/ 19 июня 2020

Это то, что вы ищете?

def xxx():
    for title in titles:
        x = title.get_attribute('href')
        posts_list.append(x)

    # this should come out of the titles loop, 
    # since you were currently adding data, 
    # and then you can traverse through it 
    for p in posts_list:
       # Calling your help(), assuming it does accepts p from your list
       help(p)
    print(len(posts_list))

# Indentation matters, please look into the Python Indentation, 
# this is where you will be calling your method outside your def xxx()
xxx()

ВАША ФУНКЦИЯ ПОМОЩИ

# def help should accept an argument p, which you will use to print the data
def help(p):
  print(f"this is {p}")

Надеюсь, это то, что вы ищете . Пожалуйста, изучите Python Отступ , чтобы подобрать sh свои основы Python, потому что это имеет значение при написании кода.

Спасибо и удачного обучения :)

1 голос
/ 19 июня 2020

Отступ в исходном посте сильно перекошен.

Проблему, которую вы пытаетесь решить, лучше всего решать с помощью списка:

posts_list = [title.get_attribute('href') for title in titles]
[help(p) for p in posts_list]

Если вас интересуют не сообщения как таковые, а только результаты применения help к ним можно совместить две петли:

[help(title.get_attribute('href')) for title in titles]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...