como o especificador de formato obtém valor enquanto a lista de tupla é passada

Eu tenho um pedaço de código como abaixo:

tupvalue = [('html', 96), ('css', 115), ('map', 82)]

Portanto, ao imprimir a tupla acima no formato desejado para um índice específico, encontrei um código como este:

>>> '%s:%d' % tupvalue[0]
'html:96'

Eu estou querendo saber como o valor únicotupvalue[0] é reconhecido como uma tupla de dois valores pelo especificador de formato'%s:%d'? Por favor, explique esse mecanismo com uma referência de documentação.

Como posso usar uma compreensão para formatar todos os valores emtupvalue no formato necessário, como no exemplo mostrado?

questionAnswers(1)

yourAnswerToTheQuestion