Как я могу преобразовать строку в список отдельных наборов символов? - PullRequest
1 голос
/ 26 марта 2019

Я пытаюсь взять что-то вроде: input = "hello world"

и получите следующий результат: [('h', 'e', ​​'l', 'l', 'o'), ('w', 'o', 'r', 'l', 'd')]

Мне удалось разделить ввод на отдельные слова, а затем слова на список символов, а затем список на кортеж ... но они не разделены словом, как в примере.

sentence = input("Enter a sentence: ")
word_list = sentence.split()
print(word_list)

chars = []
for x in sentence:
    chars.append(x)
print(chars)

tuple_list = tuple(word_list)
print(type(tuple_list))

Код выше печатает ['Привет, мир'] и не [('h', 'e', ​​'l', 'l', 'o'), ('w', 'o', 'r', 'l', 'd')]

Что я делаю не так?

Большое спасибо!

Ответы [ 2 ]

3 голосов
/ 26 марта 2019

Вы можете разбить строку и отобразить подстроки в конструктор кортежей:

s = "hello world"
list(map(tuple, s.split()))
2 голосов
/ 26 марта 2019

Пойдем по вашей первоначальной попытке.

word_list = sentence.split() # ['hello', 'world']

У нас есть список из двух слов, однако при попытке вы перебираете исходный ввод пользователя, а не список слов, который вы создали. Таким образом, код должен стать:

chars = []
for x in word_list:
    chars.append(tuple(x))

print(chars)
# [('h', 'e', 'l', 'l', 'o'), ('w', 'o', 'r', 'l', 'd')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...