Python 语言学习要点记录2-list

发布一下 0 0

List 列表类型是以[]定义,用,号分割

data = [11,22,33,44,55,66]data[1] # 22data[:3] #[11,22,33]

List 类型的元素可以不相同,内容可以索引,可修改元素的值,可以用 + 连接 list

p = (3,2)d = [12,'as', p ,True,23,34]d[2] #(3,2)d[4] = 55d = d + ['a','b']d #[12, 'as', (3, 2), True, 55, 34, 'a', 'b']

可以使用 * 重复 list的元素

a = [1,2,3]b = 3 * ab # [1, 2, 3, 1, 2, 3, 1, 2, 3]

浅拷贝

通过索引的方式将会创建新的 list,不过是通过浅拷贝的方式创建的。对于基本的数据类型浅拷贝和深拷贝是一样的,但对于对象类型来说和深拷贝是不同的。

sub = [3,2]d = [12,'green', sub ,True,23,34]d[2] #[3,2]print('d1=',d)c = d + ['red','blue']  #浅拷贝print('c1=',c)d[4] = 44 #更改基本类型数据d[2][0] = 55 #更改对象类型数据print('d2=',d) print('c2=',c)

运行结果

d1= [12, 'green', [3, 2], True, 23, 34]c1= [12, 'green', [3, 2], True, 23, 34, 'red', 'blue']d2= [12, 'green', [55, 2], True, 44, 34]c2= [12, 'green', [55, 2], True, 23, 34, 'red', 'blue']

可以发现对于基本数据类型,当更改原 list 时,例如d[4] = 44,拷贝的 list 不受影响。但对于对象类型,例如 sub 是 list 类型,当改变源 sub 里的值时,即 d[2][0] = 55,则新的list c里的sub跟着发生了变化,因为浅拷贝对于对象类型的元素只是复制了对象的地址,并没有复制对象的内容。深拷贝则不同。

通过循环实现斐波那契数列

斐波那契数列,其实就是后一项的数值等于前两项数值的和。

# Fibonacci seriesa, b = 0, 1n = 50while a < n:    print(a)    a, b = b, a+b

运行结果:

0112358132134

版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除

本文地址:http://0561fc.cn/210125.html