LINUX.ORG.RU

Разбить массив, на слова python

 ,


1

2

Например вот:

a = input()
d = a.split()
Вывод массива d:
['привет','дела']
И мне нужно эти слова разбить на отдельные переменные, причем кол-во слов может быть больше или меньше.



Последнее исправление: IndiGuy (всего исправлений: 1)

Ничего не понял.

s = input()
for i, word in enumerate(s.split()):
    locals()[chr(97+i)] = word

Будет переменные a,b,c и т.д. для кажного слова.

p.s. это шутка если что

pawnhearts ★★★★★
()

Что бы ты ни задумал, ты явно делаешь какую-то херню. Опиши изначальную задачу, которую ты хочешь решить.

hippi90 ★★★★★
()
Ответ на: комментарий от IndiGuy

никак нельзя массив использовать для данных переменной длинны?

cetjs2 ★★★★★
()
Ответ на: комментарий от IndiGuy

В массиве от одного и более слов, нужно каждому слову присвоить переменную.

И как ты их потом использовать будешь? Или интерес чисто академический?

ashot ★★★★
()
Ответ на: комментарий от IndiGuy

В массиве от одного и более слов, нужно каждому слову присвоить переменную.

Как так «присвоить слову переменную»? Создать переменную с именем, равным слову, и каким-то значением? Тогда так:

for word in d:
    globals()[word] = "wtfamidoing?"

proud_anon ★★★★★
()
Ответ на: комментарий от IndiGuy

Я бота пишу и нужно что бы он каждое слово проверял в тексте, пока не будет максимум совпадений

Святые зиродеи, тебе нужен dict.

proud_anon ★★★★★
()
Ответ на: комментарий от IndiGuy

Может тебе сначала поучиться на чем-нибудь попроще? Ну там задачки из учебников по програимированию. Вообще их что ли начать читать.

a1batross ★★★★★
()
Ответ на: комментарий от IndiGuy

Так не надо что в голову приходит. Есть учебники и в них задачи. Как поймёшь, что вот там есть что-то похожее на твоего бота и как-то это можно применить, тогда и круто. А вот сейчас ты пришёл и задаешь некорретные вопросы.

a1batross ★★★★★
()
Последнее исправление: a1batross (всего исправлений: 1)

Я ничего не понял, но в твоём примере ты можешь обратиться к элементу «массива» по индексу:

>>>a = input()
>>>d = a.split()
>>>d
['привет','дела']
>>>d[0]
'привет'
>>>d[1]
'дела'

ashot ★★★★
()
Ответ на: комментарий от ashot

Это ясно, по индексу если известно сколько элементов, а у меня их может быть сколько угодно, больше, меньше

IndiGuy
() автор топика
Ответ на: комментарий от a1batross

Я сомневаюсь что в учебнике, есть что то подобное

IndiGuy
() автор топика
Ответ на: комментарий от IndiGuy

Это ясно, по индексу если известно сколько элементов, а у меня их может быть сколько угодно, больше, меньше

Узнай сколько:

>>>len(d)
2
Или перебери, как выше советуют.

ashot ★★★★
()
Ответ на: комментарий от IndiGuy

Послушай доброго совета, прочитай сначала учебник по питону, потом литературу по стандартным алгоритмам и структурам данных. Можно еще какой-нибудь cookbook посмотреть с примерами кода.

hippi90 ★★★★★
()
Ответ на: комментарий от hippi90

Д я читал, забросил программирование на полгода и 2 дня вспоминаю. Спасибо,почитаю обязательно!

IndiGuy
() автор топика

Спасибо всем большое за помощь

IndiGuy
() автор топика
Ответ на: комментарий от anonymous

И в каком это месте? У меня проблема с выражение мысли из-за не профессианолизма, а тебе точно нужно.

IndiGuy
() автор топика
Ответ на: комментарий от hippi90

Послушай доброго совета, прочитай сначала учебник по питону, потом литературу по стандартным алгоритмам и структурам данных.

Куда торопиться? Парень молодой, способный. Сам допетрит лет через цать.

ashot ★★★★
()
Ответ на: комментарий от ashot

Нет, но я думаю тот кого взяли не далеко ушел...

IndiGuy
() автор топика
Ответ на: комментарий от ashot

Я вообще алгоритм придумал легче и действеннее, а методом проб и ошибок я считаю можно придумать и накопать больше чем дадут в книге!

IndiGuy
() автор топика
>>> data = input()
Привет, как дела?
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1
    Привет, как дела?
    ^
SyntaxError: invalid syntax
>>> 

Я так понимаю, питон у тебя используется 3-ий?

Virtuos86 ★★★★★
()
Ответ на: комментарий от IndiGuy

падёж падежей?

нужно каждому слову присвоить переменную

U mean: каждое слово присвоить своей(отдельной ) переменной

выше тебе пошутили как по алфавитным именнам раскидать - чё не так?

anonymous
()
Ответ на: комментарий от IndiGuy
virtuos86@minas-itil ~/Документы $ cat counter.py 
# coding: utf-8
import collections
counter = collections.Counter()
data = raw_input().lower() # `lower()` не работает для кириллицы
for char in ",:;.?!\"'-—":
    data = data.replace(char, "")
for uchar, lchar in (("А","а"),("Б","б"),("В","в"),("Г","г"),("Д","д"),
                     ("Е","е"),("Ё","ё"),("Ж","ж"),("З","з"),("И","и"),
                     ("Й","й"),("К","к"),("Л","л"),("М","м"),("Н","н"),
                     ("О","о"),("П","п"),("Р","р"),("С","с"),("Т","т"),
                     ("У","у"),("Ф","ф"),("Х","х"),("Ц","ц"),("Ч","ч"),
                     ("Ш","ш"),("Щ","щ"),("Ъ","ъ"),("Ы","ы"),("Ь","ь"),
                     ("Э","э"),("Ю","ю"),("Я","я")):
    data = data.replace(uchar, lchar)
for word in data.split():
    counter[word] += 1
print counter.most_common(1)[0][0],
print counter.most_common(1)[0][1]
virtuos86@minas-itil ~/Документы $ python counter.py
Привет, как дела? Как здоровье?
как 2
virtuos86@minas-itil ~/Документы $ 

Virtuos86 ★★★★★
()
Ответ на: комментарий от pawnhearts

raw_input().decode('utf-8') не судьба сделать?

Ну да. Что поделать, когда на питоне начинаешь писать только хелловорлды раз в полгода, некоторые знания улетучиваются.

Можно просто counter = collections.Counter(data.split())

Можно. Если collections.Counter не был загуглен полчаса назад и разбираться в его доке просто лень.

Virtuos86 ★★★★★
()
Ответ на: комментарий от IndiGuy

Я бота с которым можно говорить на любые темы

а по теме заметно

бот на python учит python, занятно

buratino ★★★★★
()

Почитал другие темы топикстартера. Порадовался, что в моём детстве не было интернетов.

Deleted
()
Ответ на: комментарий от IndiGuy

В твоем случае считать надо внимательнее ;)

Norgat ★★★★★
()
Ответ на: комментарий от IndiGuy

Тебе в голову никогда не приходило стрельнуть себе в ногу? За исключением этой темы, разумеется.

Aswed ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.