Python 3中如何避免重复代码,简洁打印列表特定元素?
更简洁地打印Python列表特定元素的方法
当然有不少简洁的写法可以避免重复编写num[x]这类代码,我给你分享几种实用的方式,结合你的示例列表num = ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e"]来举例:
1. 解包重复元素
如果需要多次打印同一个元素,不用重复写num[5],可以用列表乘法生成重复元素的列表,再用*解包后打印:
# 打印3次num[5] print(*[num[5]] * 3)
运行后会输出:5 5 5
2. 批量处理目标索引
如果要打印多个不同(或重复)的索引对应的元素,可以先把目标索引存到一个列表里,通过生成器或列表推导式获取对应元素,再解包打印:
# 定义要打印的索引集合 target_indices = [5, 12, 5, 5] # 生成对应元素并打印 print(*(num[i] for i in target_indices))
这段代码会输出:5 c 5 5,这种方式特别适合需要打印大量分散索引元素的场景,只需要维护target_indices列表就行,不用反复写num[x]。
3. 直接一次性打印多个元素
其实你已经用到这种方式啦,但再明确一下:如果只是少量不同的元素,直接在print()里用逗号分隔多个num[x]就是最简洁的:
print(num[5], num[12])
输出:5 c
4. 切片打印连续索引元素(额外小技巧)
如果你的目标元素是列表中连续的一段,还可以用切片来快速获取,再解包打印:
# 打印索引5到7的元素(左闭右开,所以是num[5], num[6], num[7]) print(*num[5:8])
输出:5 6 7
内容的提问来源于stack exchange,提问作者KowaiiNeko
相关产品推荐
相关产品推荐

