Искам да създам таблица за търсене в Python, която свързва числа с поредица от символи. Символите, които искам да използвам, са малки букви [a-z] и числа [0-9].
Целта ми е да представя голям брой номера с възможно най-малко символи. Искам да знам кой е най-ефективният начин да направите това в Python?
Отговори:
2 за отговор № 1Ако вашите цели числа са положителни, съседни и започват от или близо до 0, използвайте списък. В противен случай използвайте речник. Ако вашите целеви стойности са единични знаци, можете да използвате низ вместо списък.
Списъците (и струните) са по-ефективни при картографиране на последователност (0, 1, 2 и т.н.), речниците са по-ефективни при картографиране коренно различен номера до стойности.
Картографиране на цели числа на единични знаци:
targets = "a8B2Vgj4l" # targets[3] -> "B"
Картографиране на цели числа на няколко знака:
targets = ["foo", "bar", "baz", "42andahalf"] # targets[3] -> "baz"
картография несъседни числа:
targets = {42: "Life", 81: "Monty Python"} # targets[82] -> "Monty Python"