利用列表巧妙打印杨辉三角

本文介绍了Python中利用列表高效实现杨辉三角的五种方法,包括二维列表首尾加1、一维列表首尾加0、巧用负索引、二维列表对折以及单列表对折。通过避免使用高时间复杂度的`insert`函数和提前分配内存,提高了程序效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python中的列表(list)

  在python中,列表的重要性不亚于C语言中的数组,用好python中的列表对提升编程能力以及提高程序效率很有帮助。下面就介绍几种用列表实现杨辉三角的方法。

方法一:二维列表首尾加1

  首先将特殊的前两行[1],[1,1]列出,然后根据杨辉三角首尾都是1以及当前行的除首尾项外的其他项均为上一行的相邻两项之和的性质,堆叠出杨辉三角的下一行。简言之就是将整个杨辉三角看作是一个大列表,每一行就是这个大列表中的元素,大列表中的元素要根据上一个元素中的相邻元素相加得到。

n=int(input('num:'))
triangle = [[1],[1,1]] #列出最开始的两特殊项
print([1])
print([1,1])
for i in range(2,n): #计数,产生大列表的新元素(杨辉三角的新行)
    newline = [1] #新行的首项
    pre = triangle[i-1] #将杨辉三角列表中的当前最后一个元素抽出,为计算下一元素做准备
    for j in range(i-1): #从0开始计数
        val = pre[j]+pre[j+1] #将抽出的元素从当前项开始累加
        newline.append(val) #
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值