Size: a a a

2021 November 22

Б

Балтабай in Python
Саламчик
источник

V

Vadim in Python
источник

V

Vadim in Python
Линуксу капец скоро...
источник

楽園松本 in Python
И так что ты хотел бы здесь узнать?
источник

Б

Балтабай in Python
Есть вопрос
источник

Б

Балтабай in Python
Сформирую
источник

DD

Dima Dzundza in Python
:/
источник

DD

Dima Dzundza in Python
тогда зачем виндовс
источник

DD

Dima Dzundza in Python
)))
источник

DD

Dima Dzundza in Python
уверен там будет миллион ограничений
источник

T

Tenshi in Python
Привет всем.
Есть такой код

# эта функция отвечает за деление, возвращает остаток от него
def hashfunction(key, size):
   return key % size


# базовый класс со стандартным первым аргументом self. Вызывается из "main"
class HashTable:
   def init(self):
       self.size = 11
       self.slots = [None] * self.size
       self.element = [None] * self.size

   # функция для проверки + вставки элемента
   def put(self, key, element):
       hashvalue = hashfunction(key, len(self.slots))
       # после того как остаток от деления был найден проверка на то, занят слот или нет. Если не занят вставляем
       # его по индексу hashvalue
       if self.slots[hashvalue] is None:
           self.slots[hashvalue] = key
           self.element[hashvalue] = element
       else:
           if self.slots[hashvalue] == key:
               self.element[hashvalue] = element  # replace
           else:
               nextslot = self.rehash(hashvalue, len(self.slots))  # если слот занят элементом смотрим next слот
               while self.slots[nextslot] is not None and \
                       self.slots[nextslot] != key:
                   nextslot = self.rehash(nextslot, len(self.slots))

               if self.slots[nextslot] is None:  # если он не занят элементом, то вставляем ключ и элемент
                   self.slots[nextslot] = key
                   self.element[nextslot] = element
               else:
                   self.element[nextslot] = element  # replace

   # функция реализующую шаг для поиска свободного слота под элемент
   def rehash(self, oldhash, size):
       return (oldhash + 1) % size

   def get(self, key):
       startslot = hashfunction(key, len(self.slots))

       element = None
       stop = False
       found = False
       position = startslot
       while self.slots[position] is not None and \
               not found and not stop:
           if self.slots[position] == key:
               found = True
               element = self.element[position]
           else:
               position = self.rehash(position, len(self.slots))
               if position == startslot:
                   stop = True
       return element

   def getitem(self, key):
       return self.get(key)

   # Эта функция берет ключ и его элемент, чтобы добавить в хэш-таблицу
   def setitem(self, key, element):
       self.put(key, element)


H = HashTable()
f = open('sample.txt', "r")
data = []
for line in f:
   data.append(int(line.strip('\n')))
print(data)

73   H[54] = 233
H[26] = 44
H[93] = 5
H[17] = 4531
H[77] = 34
H[31] = 1
H[44] = 0
H[55] = 44
81    H[20] = 22

Коротко. Это хэш таблица с ключом и элементом. Я хочу брать элементы из файла sample. С прочтением нет никаких проблем. С функциями класса вроде тоже не путаюсь. Все что мне нужно это прочитать файл и добавить в него ключ и привести к виду как в строчках 73-81. Я не понимаю как это сделать. Если есть свободное время, то могу в личку написать кому-нибудь
источник

楽園松本 in Python
По стопам MacOS идут
источник

T

Tenshi in Python
Вроде не так сложно, но черт возьми, не понимаю
источник

T

Tenshi in Python
H[54] = 233. Как мне сделать так же? Вместо 233 у меня должно быть первое значение из sample.txt. Ключ тоже надо как-то найти (возможно циклом)
источник

T

Tenshi in Python
У меня еще self определяется как 11. Хотелось бы, чтобы он был размером моего файла. Как?)))
источник

РК

Рунический Кефир... in Python
sample.txt то как выглядит?
источник

T

Tenshi in Python
123
21
321
44
источник

T

Tenshi in Python
но опять же он редактируемый. Там может быть и 1000 элементов
источник

РК

Рунический Кефир... in Python
Чтобы найти количество строк напиши, что-то вроде

nuw_row = sum(1 for line in open('sample.txt'))
источник

T

Tenshi in Python
ну сколько элементов я могу найти как ln = len(data)
источник