Разработать класс расширение для dict Python
2 000 руб. за проект
Первый способ доступа: доступ по номеру ключа, ключи должны быть отсортированы (метод sorted)
Пример:
val map = SpecialHashMap()
map["value1"] = 1
map["value2"] = 2
map["value3"] = 3
map["1"] = 10
map["2"] = 20
map["3"] = 30
map["1, 5"] = 100
map["5, 5"] = 200
map["10, 5"] = 300
print(map.iloc[0]) // >>> 10
print(map.iloc[2]) // >>> 300
print(map.iloc[5]) // >>> 200
print(map.iloc[8]) // >>> 3 Второй способ доступа: выборка всех пар ключ:значение по определенному условию.
Пример:
val map = SpecialHashMap()
map["value1"] = 1
map["value2"] = 2
map["value3"] = 3
map["1"] = 10
map["2"] = 20
map["3"] = 30
map["(1, 5)"] = 100
map["(5, 5)"] = 200
map["(10, 5)"] = 300
map["(1, 5, 3)"] = 400
map["(5, 5, 4)"] = 500
map["(10, 5, 5)"] = 600
print(map.ploc[">=1"]) // >>> {1=10, 2=20, 3=30}
print(map.ploc["<3"]) // >>> {1=10, 2=20}
print(map.ploc[">0, >0"]) // >>> {(1, 5)=100, (5, 5)=200, (10, 5)=300}
print(map.ploc[">=10, >0"]) // >>> {(10, 5)=300}
print(map.ploc["<5, >=5, >=3"]) // >>> {(1, 5, 3)=400} Для второго доступа:
Пример:
val map = SpecialHashMap()
map["value1"] = 1
map["value2"] = 2
map["value3"] = 3
map["1"] = 10
map["2"] = 20
map["3"] = 30
map["1, 5"] = 100
map["5, 5"] = 200
map["10, 5"] = 300
print(map.iloc[0]) // >>> 10
print(map.iloc[2]) // >>> 300
print(map.iloc[5]) // >>> 200
print(map.iloc[8]) // >>> 3 Второй способ доступа: выборка всех пар ключ:значение по определенному условию.
Пример:
val map = SpecialHashMap()
map["value1"] = 1
map["value2"] = 2
map["value3"] = 3
map["1"] = 10
map["2"] = 20
map["3"] = 30
map["(1, 5)"] = 100
map["(5, 5)"] = 200
map["(10, 5)"] = 300
map["(1, 5, 3)"] = 400
map["(5, 5, 4)"] = 500
map["(10, 5, 5)"] = 600
print(map.ploc[">=1"]) // >>> {1=10, 2=20, 3=30}
print(map.ploc["<3"]) // >>> {1=10, 2=20}
print(map.ploc[">0, >0"]) // >>> {(1, 5)=100, (5, 5)=200, (10, 5)=300}
print(map.ploc[">=10, >0"]) // >>> {(10, 5)=300}
print(map.ploc["<5, >=5, >=3"]) // >>> {(1, 5, 3)=400} Для второго доступа:
- Для условий используются символы: <. >, = и их комбинации, для не равно используется комбинация <>
- В условии может быть любое количество пробелов
- В условии используются только целые и вещественные числа
- В качестве разделителя могут выступать любые символы, кроме символов условий и чисел
- Ключи должны соответствовать количеству условий, т.е. если в ключе два числа, а в условии три, то такой ключ игнорируется
- Скобки являются необязательными и игнорируются при выборе
- Дополнительные способы должны быть доступны через поля iloc и ploc
- Должно быть определено исключение для неверно заданных условий
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.