Создайте список, используя буквы в х - PullRequest
0 голосов
/ 14 мая 2019

Используя понимание списка, создайте список всех букв, используемых в x.

x = ‘December 11, 2018’

Я пытался написать каждое письмо, но получил синтаксическую ошибку!

Ответы [ 4 ]

0 голосов
/ 14 мая 2019

Это должно работать

x = list('December 11, 2018')
print(x)
result = []
for item in x:
    try:
        int(item)
    except ValueError:
        if item == "," or item == " ":
            pass
        else:
            result.append(item)

print(result)

"""
Output:
['D', 'e', 'c', 'e', 'm', 'b', 'e', 'r']
"""

Если вы используете только даты с этим форматом, вы можете сделать это

x = "December 11, 2018".split()
print(x[0])
"""
Output:
'December'
"""
0 голосов
/ 14 мая 2019
x = "December 11, 2018"
lst = [letter for letter in x]

print(lst)                       # test

Выход:

['D', 'e', 'c', 'e', 'm', 'b', 'e', 'r', ' ', '1', '1', ',', ' ', '2', '0', '1', '8']
0 голосов
/ 14 мая 2019

Вы можете составить список, например:

x = ‘December 11, 2018’

new_list = [letter for letter in x]

print(new_list) 

# Output
# ['D', 'e', 'c', 'e', 'm', 'b', 'e', 'r', ' ', '1', '1', ',', ' ', '2', '0', '1', '8']

Кроме того, вы можете пропустить понимание списка и просто использовать new_list = list(x), чтобы получить тот же результат.

если вам нужны только буквы и без пробелов, вы можете использовать .replace на x, например: x.replace(' ','') или добавить условие if в вашем понимании списка:

new_list = [letter for letter in x if letter != ' ']
0 голосов
/ 14 мая 2019

В Python строка действует как список;проще и быстрее преобразовать список в набор (только уникальные значения), а затем вернуться к списку:

unique_x = list(set(x))

Или, если вам необходимо использовать понимание списка:

used = set()
all_x = "December 11, 2018"
unique_x = [x for x in all_x if x not in used and (used.add(x) or True)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...