Извлечь определенные значения из списка - PullRequest
2 голосов
/ 20 марта 2019

Я довольно плохо знаком с Python и хочу извлечь город только для адресов этих клиентов:

clients = ["Peter, Calle Fantasia 15, Madrid", "Robert, Plaza de Perdas 2, 
            Sevilla", "Paul, Calle Polo, Madrid", "Francesco, Plaza de Opo I, Segovia"]

Может кто-нибудь помочь? Заранее большое спасибо!

Ответы [ 3 ]

4 голосов
/ 20 марта 2019

Вы можете использовать понимание списка и сохранить последний элемент в каждой строке, начиная с lst , и далее.

Для этого используйте string.split, установив , в качестве разделителя, который будет разбивать каждую строку при наличии запятой, нарезать результирующие списки, сохраняя последний элемент, и использовать string.strip для удаления ведущих пробелов:

clients = ["Peter, Calle Fantasia 15, Madrid", "Robert, Plaza de Perdas 2, 
            Sevilla", "Paul, Calle Polo, Madrid", "Francesco, Plaza de Opo I, Segovia"]

[i.split(',')[-1].strip() for i in clients]
# ['Madrid', 'Sevilla', 'Madrid', 'Segovia']

Для более подробной информации о методах, использованных выше, я бы посоветовал вам взглянуть на:

2 голосов
/ 20 марта 2019

Если элементы clients всегда имеют формат "name, address, city", вы можете split примерно так:

# List comprehension, splits each element of client on commas,
# then takes the final element (stripping any whitespace)
clients = [client.split(',')[-1].strip() for client in clients]

>>> print(clients)

['Madrid', 'Sevilla', 'Madrid', 'Segovia']
0 голосов
/ 20 марта 2019

без использования списка

clients = ["Peter, Calle Fantasia 15, Madrid", "Robert, Plaza de Perdas 2, Sevilla", "Paul, Calle Polo, Madrid", "Francesco, Plaza de Opo I, Segovia"]
list_of_cities =[]
for i in clients:
    index_last_comma = 0
    for j in range(len(i)-1,0,-1):
        if i[j]==',':
            index_last_comma  = j
            break
    city = i[j+1:len(i)].strip()
    list_of_cities.append(city)

print(list_of_cities)
# output ['Madrid', 'Sevilla', 'Madrid', 'Segovia']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...