如何实现指定列表的金字塔式字符串输出?
如何实现指定列表的金字塔式字符串输出?
嘿,我明白你想要的效果啦——就是把名字列表按「逐步累加」的方式展开,最终输出一串依次包含「第一个名字」「前两个名字」「前三个名字」「所有四个名字」的连续字符串对吧?你之前的尝试要么只打印当前单个名字,要么把名字重复两次,都没做到「累计前面所有名字」的核心逻辑,所以才得不到预期的结果。
我给你写个简单的实现方案,完全符合你的需求:
# 先定义你的名字列表 names = ["Alex", "Jack", "Sam", "Patrick"] # 用来存储最终要输出的所有元素 result = [] # 遍历列表的每个索引位置 for i in range(len(names)): # 取出从第一个名字到当前索引的所有名字(逐步累加) current_names = names[:i+1] # 把这一组名字逐个添加到结果列表里 result.extend(current_names) # 用空格把所有元素连接起来,然后打印 print(' '.join(result))
运行这段代码后,控制台就会输出你想要的内容:
Alex Alex Jack Alex Jack Sam Alex Jack Sam Patrick
简单解释下逻辑:
names[:i+1]是Python的切片语法,用来获取列表中从开头到第i+1个元素的子列表(比如当i=0时取第一个名字,i=1时取前两个名字,以此类推)result.extend(current_names)是把当前子列表里的每个名字都添加到结果列表中,而不是把整个子列表作为一个元素添加- 最后用
' '.join(result)把所有名字用空格连接成一个字符串,就能得到你要的连续输出啦
内容来源于stack exchange
相关产品推荐
相关产品推荐

