Python中如何保留列表每个元素的第一个单词?
提取列表元素的第一个单词
你可以通过两种简单方法实现需求:
方法一:遍历索引修改原列表
直接遍历列表的索引位置,对每个元素按空格分割后取第一部分,再赋值回原列表:
images =['atr5500-ve-7.8.1 version=7.8.1 [Boot image]' , 'atr5300-ve-3.4.4','atr5600-ve-7.6.6','atr5300-ve-3.4.4', 'atr2300-ve-8.7.8','atr1200-ve-1.2.2','atr5600-ve-3.2.2'] for i in range(len(images)): # 按空格分割字符串,取第一个片段 images[i] = images[i].split()[0] print(images)
运行后输出结果:
['atr5500-ve-7.8.1', 'atr5300-ve-3.4.4', 'atr5600-ve-7.6.6', 'atr5300-ve-3.4.4', 'atr2300-ve-8.7.8', 'atr1200-ve-1.2.2', 'atr5600-ve-3.2.2']
方法二:使用列表推导式(更简洁)
Python的列表推导式是处理这类场景的高效写法,一行代码就能生成目标列表:
images =['atr5500-ve-7.8.1 version=7.8.1 [Boot image]' , 'atr5300-ve-3.4.4','atr5600-ve-7.6.6','atr5300-ve-3.4.4', 'atr2300-ve-8.7.8','atr1200-ve-1.2.2','atr5600-ve-3.2.2'] images = [item.split()[0] for item in images] print(images)
这个写法和循环修改原列表的效果完全一致,但代码更简洁易读。
注意事项
split()方法默认按任意空白字符(空格、制表符等)分割字符串,返回分割后的字符串列表,取索引[0]即可得到第一个单词。- 如果列表中可能存在空字符串元素,建议添加判断避免报错,例如写成
item.split()[0] if item else ''。
内容的提问来源于stack exchange,提问作者mac
相关产品推荐
相关产品推荐

