Создайте кортеж из строки и список строк

Мне нужно объединить строку вместе со списком строк в кортеж, чтобы я мог использовать его в качестве словарного ключа. Это будет во внутреннем цикле, поэтому скорость важна.

Список будет небольшим (обычно 1, но иногда 2 или 3 элемента).

Каков самый быстрый способ сделать это?

До:

my_string == "foo"
my_list == ["bar", "baz", "qux", "etc"]

После:

my_tuple == ("foo", "bar", "baz", "qux", "etc")

(Примечание: my_list нельзя изменять самостоятельно).

Ответы

Ответ 1

Я не могу говорить о производительности, но это, безусловно, самый простой, о котором я могу думать:

my_tuple = tuple([my_string] + my_list)

Ответ 2

Простым способом является просто my_tuple = tuple( my_list + [my_string] ). Я бы, конечно, начал с этого и посмотрел, приемлема ли производительность, прежде чем пытаться выяснить какие-то сумасшедшие способы подмены нормальной системы для скорости.

Ответ 3

Я думаю, что этот способ лучше:

my_list = my_list.insert(0,my_string)
my_tuple = tuple(my_list)