Python学习-列表和元组

1.列表和元组的区别,列表可以修改,几乎所有可以使用元组的地方都可以使用列表(例外,做键使用时,不可修改,只能使用元组)

2.列表和元组的索引(包括字符串的索引),正序从0开始依次递增,逆序从-1开始依次递减(避免重叠),且索引不仅可以使用在变量上,也可以使用在常量上(对于python而言,本没有变量与常量的区别):"year"[3],'r'

3.分片使用,例子a=[1,2,3,4,5,6], a[1:4]:[2,3,4]; a[:3]:[1,2,3]; a[3:]:[4,5,6],所谓左闭右开。此外,还可自定义增量,上述用例其增量默认为1,:a[1:4:2]:[2,4],与matlab不同,python的增量是放置在第三位置,而非中间位置,此外,增量也可以为负,a[4:1:-2]:[5,3](然而,a[4:1]结果却为空[])

4.序列加法结果实际上是序列拼接而非逐元相加,而乘以某个数字,也只是将此序列重复几次。

5.None在python中是一个符号,标示一个占位符,仅供占位而不代表任何意思,也没有任何类型

6.len, max, min分别用于找出序列的长度,最大值和最小值

7.序列和字符串之间有着很多相似的操作,而python也为将字符串转换成序列提供了一种便捷方法,list, a = "backup", list(a):['b','a','c','k','u','p']

8.之前说到,列表相对于元组而言,是可以修改的,列表的主要修改操作包括:赋值(x[2]='abc'),删除(del x[2]),分片赋值(不须对应大小,x[2:4]=['abc','bcd'],或者x[2:4]=list("good"),而这与直接赋值是不同的,如c=list("abcde"),c[1]=list("good"),得到c的结果为['a',['g','o','o','d'],'c','d','e'],而如果用c[1:2]=list("good"),则结果为['a','g','o','o','d','c','d','e']

9.列表的方法包括:append(将元素添加到末尾,如果是将列表作为参数,则末尾元素是一个列表,而不是各个列表元素),count(统计某个元素(参数)出现的次数,不再从元素中匹配子元素,如x=[[1,2],1,1,[2,2,1]],x.count(1)的结果为2),extend(与append相对,如果参数是个列表,则将列表中元素逐个添加到末尾),index(返回参数在列表中的位置,第一个元素为0,如果不存在,会报错),insert(在参数所指的位置插入元素,原位置元素及之后元素相应后移),pop(移除参数所指位置元素,默认为移除最后元素),remove(移除与参数等值的第一个元素,如果不存在相同元素,则报错),reverse(将列表元素反向存放,此方法没有参数,相对应的reversed方法将参数列表的反向迭代器返回,而通过list可以得到此迭代器对应的元素),sort(无参数,原地完成对序列的升序排序,意味着原序列被改变,另一种对应的排序方法为非成员方法sorted,此方法对参数做排序后将结果返回,而不改变参数的值,此外sort方法也有可选的参数compare用于制定排序方式,另一种制定排序方式的方法是借助key关键字,使用key=fun,其中fun是函数名字,或者reverse关键字,reverse=True/False,用来指定是否反向排序)

10.在python中,为了简化内存管理,将通过计数机制实现垃圾自动回收管理,每个对象都有一个引用,当进行一次等号赋值时,引用计数加1,而销毁一个引用时,则相应减1,故而,当x=y时,并未对x进行内存分配,而只是将y的引用传递给了x,如果对x进行修改,那么同样y也会有着同样的修改结果,具体参见博客:http://blog.csdn.net/crazyhacking/article/details/30053941

11.列表与元组,tuple用来将列表转换为元组,而list也可用来将元组转换为列表,元组的其余操作可以参照列表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值