вызов одной и той же функции с разными типами в списке - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть список словарей, по которым я перебираю их по одному.например.

def same_func(messages):
    for message in messages:
        #message is a dict here.

Теперь я также хочу вызвать эту функцию в другом сценарии, где мои сообщения представляют собой список кортежей (dict и flag)

поэтому предположим, что я сделал этот список следующим образом -

messages.append((message, flag))

и теперь я хочу вызвать ту же функцию, что и same_func (messages). Тогда как я могу сделать same_func универсальным для обоих сценариев.

1 Ответ

0 голосов
/ 21 февраля 2019

почему бы не добавить оператор if в ваш цикл for, который определяет тип, а затем обрабатывает dict или кортеж на его основе.

т.е.:

def same_func(messages):
    for message in messages:
        if type(message) is dict:
            # handle dict
        elif type(message) is tuple:
            # handle tuple
        else: 
            # do something else
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...