Ответ 1
Я не могу говорить о производительности, но это, безусловно, самый простой, о котором я могу думать:
my_tuple = tuple([my_string] + my_list)
Мне нужно объединить строку вместе со списком строк в кортеж, чтобы я мог использовать его в качестве словарного ключа. Это будет во внутреннем цикле, поэтому скорость важна.
Список будет небольшим (обычно 1, но иногда 2 или 3 элемента).
Каков самый быстрый способ сделать это?
До:
my_string == "foo"
my_list == ["bar", "baz", "qux", "etc"]
После:
my_tuple == ("foo", "bar", "baz", "qux", "etc")
(Примечание: my_list
нельзя изменять самостоятельно).
Я не могу говорить о производительности, но это, безусловно, самый простой, о котором я могу думать:
my_tuple = tuple([my_string] + my_list)
Простым способом является просто my_tuple = tuple( my_list + [my_string] )
. Я бы, конечно, начал с этого и посмотрел, приемлема ли производительность, прежде чем пытаться выяснить какие-то сумасшедшие способы подмены нормальной системы для скорости.
Я думаю, что этот способ лучше:
my_list = my_list.insert(0,my_string)
my_tuple = tuple(my_list)