首页 > 解决方案 > 创建一个列表 t,如果它包含“t”,则仅保存运动员的姓名。如果不包含字母“t”,则将运动员姓名保存到其他列表中

问题描述

athletes = [['Phelps', 'Lochte', 'Schooling', 'Ledecky', 'Franklin'], ['Felix', 'Bolt', 'Gardner', 'Eaton'], ['Biles', 'Douglas', 'Hamm', 'Raisman', 'Mikulak', 'Dalton']]

t = [] 
other = []

for lst in athletes:
    for lst2 in athletes:
        if 't' in lst2:
            t.append(lst2)
        else:
            other.append(lst2)

标签: python

解决方案


for x in [item for sublist in athletes for item in sublist]:
    t.append(x) if 't' in x else other.append(x)

输出:

t:  ['Lochte', 'Bolt', 'Eaton', 'Dalton']
other:  ['Phelps', 'Schooling', 'Ledecky', 'Franklin', 'Felix', 'Gardner', 'Biles', 'Douglas', 'Hamm', 'Raisman', 'Mikulak']

推荐阅读