Есть ли в Python функция для разделения слова на список отдельных букв? например:
s="Word to Split"
получить
wordlist=['W','o','r','d','','t','o' ....]
Есть ли в Python функция для разделения слова на список отдельных букв? например:
s="Word to Split"
получить
wordlist=['W','o','r','d','','t','o' ....]
s[2]
это 'r', и s[:4]
это 'Word', и len(s)
это 13. Вы также можете перебирать их:for char in s: print char
Ответы:
>>> list("Word to Split")
['W', 'o', 'r', 'd', ' ', 't', 'o', ' ', 'S', 'p', 'l', 'i', 't']
split()
символов? split()
принимает второй аргумент maxsplits , но для него нет эквивалента list()
. Конечно, есть обходные пути ...
Самый простой способ - это просто использовать list()
, но есть еще как минимум один вариант:
s = "Word to Split"
wordlist = list(s) # option 1,
wordlist = [ch for ch in s] # option 2, list comprehension.
Они оба должны дать вам то, что вам нужно:
['W','o','r','d',' ','t','o',' ','S','p','l','i','t']
Как уже говорилось, первый вариант, вероятно, наиболее предпочтителен для вашего примера, но есть варианты использования, которые могут сделать последний весьма удобным для более сложных вещей, например, если вы хотите применить к элементам некоторую произвольную функцию, например:
[doSomethingWith(ch) for ch in s]
Нарушение правил, результат тот же: (x вместо x в 'Word to split')
Собственно итератор, а не список. Но, скорее всего, тебе все равно.
'Word to split'
напрямую используется итерация собственных символов, поэтому выражение генератора - это просто бессмысленная упаковка.
def count (): list = 'oixfjhibokxnjfklmhjpxesriktglanwekgfvnk'
word_list = []
# dict = {}
for i in range(len(list)):
word_list.append(list[i])
# word_list1 = sorted(word_list)
for i in range(len(word_list) - 1, 0, -1):
for j in range(i):
if word_list[j] > word_list[j + 1]:
temp = word_list[j]
word_list[j] = word_list[j + 1]
word_list[j + 1] = temp
print("final count of arrival of each letter is : \n", dict(map(lambda x: (x, word_list.count(x)), word_list)))
Самый простой вариант - просто использовать команду spit (). Однако, если вы не хотите использовать его или он не работает по какой-то базарной причине, вы всегда можете использовать этот метод.
word = 'foo'
splitWord = []
for letter in word:
splitWord.append(letter)
print(splitWord) #prints ['f', 'o', 'o']