#python #python-3.x #list #list-comprehension #ifs
Вопрос:
Я новичок в понимании списков. В настоящее время я понимаю это при сравнении двух списков, но теперь, когда я сравниваю 3, я немного сбит с толку. В принципе, у меня есть этот список:
teams= ['subteamA', 'subteamB']
эти 2 команды сравниваются с файлом csv, который в основном просто чередуется между подгруппами и подгруппами. Мое понимание списка таково:
teamDimensions_semantic = [[ 1 if paramTeam == thisTeam else 0 for paramTeam in mySubteams] for thisTeam in teams]
print(teamDimensions_semantic)
и тогда на выходе получается что-то вроде [1,0,1,0,1,0], что работает.
Мой вопрос теперь в том, как мне сделать то же самое, но с 3 командами в списке понимания? Я изменил свои команды на teams= [subteamA, subteamB, subteamC]
«сейчас» и изменил csv-файл, чтобы отразить и это. Но теперь я хочу, чтобы мой teamDimensions_semantic выглядел примерно так [1,0,2,1,0,2,1,0,2].
Как мне теперь написать это в строках понимания списка? Я застрял на «если» и «еще»….. любая помощь будет признательна!
Ответ №1:
Не используйте понимание вложенных списков с if
помощью . Используйте index()
, чтобы получить позицию в teams
списке.
teamDimensions_semantic = [teams.index(s) for s in mySubteams]