Функция Python: переменная и строка

У меня есть следующая формула для проверки (спасибо, что помогли мне в этом !).

queries = ['dog','cat','hamster'] def get_trends(queries): return pd.concat([pytrend.trend({'q': x, 'date': '01/2015 12m'}, return_type='dataframe') for x in queries], axis=1) get_trends(queries) 

Эта функция запускает запрос Google Trends для каждого элемента в списке и помещает возвращаемые фреймы рядом друг с другом. Теперь мне нужно сделать то же самое, но иметь одну статическую переменную (pet) в запросе.

Например, запрос без формулы будет

 return pytrend.trend({'q': 'pet, dog', 'date': '01/2015 12m'}, return_type='dataframe') 

Я знаю, что могу попробовать

 queries = ['pet, dog','pet, cat','pet, hamster'] 

Но, может быть, есть более элегантный способ?

Я пытался

 static =['pet'] return pytrend.trend({'q': ''' + static + x + ''', 'date': '01/2015 12m'}, return_type='dataframe') 

но с этим не удалось.

One Solution collect form web for “Функция Python: переменная и строка”

Вы можете сделать это следующим образом:

 In [54]: %paste static = 'animals' animals = ['dog','cat','hamster'] queries = ['{}, {}'.format(static, x) for x in animals] ## -- End pasted text -- In [55]: queries Out[55]: ['animals, dog', 'animals, cat', 'animals, hamster'] 

теперь вы можете передавать queries к своей функции:

 get_trends(queries) 
Python - лучший язык программирования в мире.