Найти - Пользователи
Полная версия: Извлечение случайного слова из огромного списка
Начало » Python для новичков » Извлечение случайного слова из огромного списка
1
AlexSSpirit
Создаю прогу и одной из её функций должно быть - выведение случайных слов(существительных), которые никогда не должны повторяться(почти никогда)

Нашёл список из 14тысяч слов, хотел извлечь слова в прогу
infile=open('words.txt','r')
line=infile.read()
word=line.split()
import  random  as  random_number
random_number.choice(word)


Но для моего пенька 4го, обработка текстового файла из 14тысяч слов, практически невозвожна, и даже если сократить текстовый файл втрое, тормозит пайтон жутко.

Возможно ли как-нибудь извлекать случайные индексы без каких либо тормозов??
adray
AlexSSpirit
обработка текстового файла из 14тысяч слов, практически невозвожна
Вы чего-то недоговариваете, даже на моем калькуляторе на все уходит менее секунды. Либо файл гораздо больше, либо показан не весь код, так как в том, что есть тормозить нечему.
4kpt
Я проверил на своем 1.6 атлоне - все нормуль…
ad3w
Залейте этот файл - попробуем.
d1ffuz0r
import  random  as  random_number
infile=open('words.txt','r')
words=infile.readlines()  # прочитает файл построчно сразу в list
random_number.choice(words)
попробуйте так.
dimy44
# smartphone Symbian OS9.1 =).
from random import choice
from time import clock
t0 = clock()
p = 'e:\\B\\Zzzros.txt' # size: 808KB
text = open(p).read()
t1 = clock()
L = text.split()
t2 = clock()
result = choice(L)
t3 = clock()
print 'open: ', t1-t0, ' s'
print 'split: ', t2-t1, ' s'
print 'choice: ', t3-t2, ' s'
print 'words: ', len(L), ' word'
print 'result: ', repr(result)
Python 2.2.2 (#0, Nov  7 2008, 14:24:30) [C] on symbian_s60
Type "copyright", "credits" or "license" for more information.
Kaapython 10.2 beta
> ===== RESTART =====
>>> 
open:  1.125  s
split:  4.046875  s
choice:  0.0  s
words:  106920  word
result:  '\xf1\xf2\xf0\xee\xea\xee\xe9'
>>>
AlexSSpirit
хз ребят, попробовал снова, ща вссё путём без тормозов, может долбаный касп грузил проц в это время


Всем спасибо всёравно
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB