使用Python列表推导式条件拼接不规则字符串时如何处理Jr姓名后缀
实现方案
采用指针动态遍历的方式替换固定步长的列表推导,每轮遍历前先判断是否遇到带Jr后缀的姓名,再调整截取长度:
代码实现
words = ['QB', 'Teddy', 'Bridgewater','RB', 'Dalvin', 'Cook', 'WR', 'Keenan', 'Allen', 'TE', 'Dalton', 'Schultz', 'WR', 'Odell', 'Beckham', 'Jr'] result = [] index = 0 words_length = len(words) while index < words_length: # 判定当前条目是否带Jr后缀:当前索引+3位置存在且值为Jr if index + 3 < words_length and words[index + 3] == 'Jr': current_span = 4 else: current_span = 3 result.append(' '.join(words[index:index + current_span])) index += current_span
输出结果
['QB Teddy Bridgewater', 'RB Dalvin Cook', 'WR Keenan Allen', 'TE Dalton Schultz', 'WR Odell Beckham Jr']
内容的提问来源于stack exchange,提问作者Sedric Hibler
相关产品推荐
相关产品推荐

