码迷,mamicode.com
首页 > 编程语言 > 详细

记录一下python列表的神奇之处

时间:2020-05-31 11:06:32      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:image   div   技术   一个   编程   c语言   赋值   alt   算法   

前言

因为学习的第一门编程语言是C语言,所以在学习python和编写python代码时,总是会不经意的采用C语言的语法和思想,昨天在看一个代码算法时就出现了这个问题

 

问题和解决

N = [1]
count  = 1
for i in range(0,6):
    print(N)
    N.append(0)
    count += 1
    N = [N[k]+N[k-1] for k in range(0,count)]

这是一段很简单的python的杨辉三角形的算法,但是我出现了这样一个疑惑,为什么N[k-1]在这个列表生成器不会报错,因为这个迭代是从0开始的,那么k=0时,N[k-1]就会变成N[-1],这个写法在C语言里面如果打印是会打印一个巨大负数

而且在C语言里是无法赋值的,强行赋值就会出现这种错误

技术图片

 

 

于是我决定自己在python里打印一下这个N[-1],N[-2]

技术图片

 

技术图片

 

 终于明白了,python的列表的负数下标是相当于反方向计算,如果说正数是从左到右,那么负数就是从右到左,这是和C语言不像的地方

这篇博客就是随便记录一下,大佬看到了就图一乐吧

 

记录一下python列表的神奇之处

标签:image   div   技术   一个   编程   c语言   赋值   alt   算法   

原文地址:https://www.cnblogs.com/XCCCCCC/p/12996560.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!