49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
import random
|
|
from typing import List, Tuple
|
|
|
|
def generate_data(n=10000):
|
|
records = []
|
|
for i in range(n):
|
|
name = f"User_{i:05d}"
|
|
phone = f"8{random.randint(900,999)}{random.randint(100,999)}{random.randint(0,9)}{random.randint(0,9)}{random.randint(0,9)}{random.randint(0,9)}"
|
|
records.append((name,phone))
|
|
|
|
records_shuffled = records.copy()
|
|
random.shuffle(records_shuffled)
|
|
records_sorted = sorted(records, key=lambda x:x[0])
|
|
|
|
return records_shuffled, records_sorted
|
|
|
|
def generate_search(records, exist_count=100, no_exist_count=10):
|
|
exist_names = [name for name, _ in records]
|
|
select_exist = random.sample(exist_names, min(exist_count, len(exist_names)))
|
|
|
|
no_exist_count=[f"None_{i:05d}" for i in range(no_exist_count)]
|
|
|
|
return select_exist + no_exist_count
|
|
|
|
def generate_delete(records, count=50):
|
|
names = [name for name, _ in records]
|
|
return random.sample(names, min(count, len(names)))
|
|
|
|
## Генерируем данные
|
|
# shuffled, sorted_records = generate_data(10) # 10 записей для примера
|
|
#
|
|
# print("=== Перемешанные записи (первые 5) ===")
|
|
# for record in shuffled[:5]:
|
|
# print(f" {record}")
|
|
#
|
|
# print("\n=== Отсортированные записи (первые 5) ===")
|
|
# for record in sorted_records[:5]:
|
|
# print(f" {record}")
|
|
#
|
|
# # Генерируем поисковые запросы
|
|
# search_queries = generate_search(sorted_records, exist_count=5, no_exist_count=3)
|
|
# print(f"\n=== Поисковые запросы (всего {len(search_queries)}) ===")
|
|
# print(search_queries)
|
|
#
|
|
# # Генерируем запросы на удаление
|
|
# delete_queries = generate_delete(sorted_records, count=5)
|
|
# print(f"\n=== Запросы на удаление (всего {len(delete_queries)}) ===")
|
|
# print(delete_queries)
|