Найти - Пользователи
Полная версия: Подскажите как сделать это...
Начало » Python для новичков » Подскажите как сделать это...
1 2
JZ911
Write a function to generate list of 100000 integer numbers and list of 100000 float numbers, numbers
should be in range 0 - 99, this lists will be input parameters for next functions.

Напишите функцию для генерации списка из 100 000 целых чисел и списка из 100 000 чисел с плавающей запятой, чисел
должен находиться в диапазоне 0 - 99, эти списки будут входными параметрами для следующих функций.
(Спасибо!)
FishHook
JZ911
Гуглил? Покажи какими запросами гуглил.
someone_who_has_mind
 import random
def generate():
    ints = []
    ints_with_dot = []
    for c in range(0,100000):
        ints.append(random.randrange(0,99))
    for d in range(0,100000):
        while True:
            chislo = random.random()
            if chislo > 99 or chislo < 0: continue
            else: break
        chislo = float(chislo)
        ints_with_dot.append(chislo)
    return [ints, ints_with_dot]
a = generate()
print(a[1])
Проблема у меня возникла - random.random() выдает рандомные числа с плавающей точкой только меньше 1-ого (0.43523423543; 0.629939828)
А так все прекрасно работает - получился двумерный массив
JZ911
вот думал чет по такому принципу http://www.geeksforgeeks.org/find-the-missing-number/
JZ911
 import random
def generate():
    ints = []
    ints_with_dot = []
    for c in range(0,100000):
        ints.append(random.randrange(0,99))
    for d in range(0,100000):
        ints_with_dot.append(random.random() * 99)
    return [ints, ints_with_dot]
a = generate()
print(a[1])
а если так?
JZ911
 import random
def generate():
    ints = []
    ints_with_dot = []
    for c in range(0,100000):
        ints.append(random.randrange(0,99))
    for d in range(0,100000):
        ints_with_dot.append(random.random() * 99)
    return [ints, ints_with_dot]
a = generate()
print(a[1])
vic57
вот на фига тебе такой список в памяти?
на киберфорум посмотри
JZ911
Спасибо!
scidam
И все-таки! Создание массива из 100k элементов с помощью цикла в Python – это медленно.
В реальных задачах для этих целей следует использовать numpy.

 import numpy as np
# random integers
np.random.random_integers(0,99,100000)
# float numbers
np.random.uniform(0, 99, 100000)
JZ911
Не могу понять как он работает?!
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