python序列学习-基本操作

上一章具体讲一些python的序列操作,基本上是各种查,这个讲一些基本操作删除,修改:
修改:可以分为单个修改,和多个修改
[
>>> arr
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> arr[4]=4
>>> arr
[1, 2, 3, 4, 4, 6, 7, 8, 9]
>>> arr[7:]=[2,2]
>>> arr
[1, 2, 3, 4, 4, 6, 7, 2, 2]
>>> arr[7:]=[]
>>> arr
[1, 2, 3, 4, 4, 6, 7]
>>> arr[7:]=[2,2]
>>> arr
[1, 2, 3, 4, 4, 6, 7, 2, 2]
>>> arr[7:]=[1]
>>> arr
[1, 2, 3, 4, 4, 6, 7, 1]
>>> arr[7:]=1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only assign an iterable

通过以上例子可以看出,可以指定某个元素进行赋值,原来值消失。也可以分片进行赋值。也可以把多个值用一个值进行替换,前提都是数组。如果是元素,就会有异常
删除操作:用del语句
>>> del arr[4]
>>> arr
[1, 2, 3, 4, 6, 7, 1]

以前操作都是基本操作,用类似赋值语句进行的操作。下面可以看一些方法,方法一般都是这样的调用,对象.方法(参数)
最常用的有:append(添加末尾),count(统计),extend(添加多个值),index(查找),insert(插入),pop(移除),remove(移除),reserse(反向),sort(排序),cmp(排序)。
添加:常用的添加方法,append,extend,insert,通过名字大概都知道什么意思,我们还是用例子来说明一下:
>>> arr
[1, 2, 3, 4, 6, 7, 1]
>>> arr.append(8)
>>> arr
[1, 2, 3, 4, 6, 7, 1, 8]
>>> arr.extend([9,10])
>>> arr
[1, 2, 3, 4, 6, 7, 1, 8, 9, 10]
>>> arr.insert(4,5)
>>> arr
[1, 2, 3, 4, 5, 6, 7, 1, 8, 9, 10]

通过例子可以看出不同的情况添加用不同的方法。
统计:count方法,就是统计某个元素在数组中出现的次数:每出现一次加1,没有为0
>>> arr
[1, 2, 3, 4, 5, 6, 7, 1, 8, 9, 10]
>>> arr.count(1)
2
>>> arr.count(0)
0

查找:index方法,就是查询数组中第一次出现的位置,返回索引号。没有时报异常
>>> arr.index(1)
0
>>> arr.index(11)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 11 is not in list

删除1.pop方法可以用删除,通常会删除最后一个元素,并且返回值。这样可以实现数据结构中的栈(先进先出)。有参数的时候,传索引值,删除指定索引的位置。若索引不存在会有异常打出
[1, 2, 3, 4, 5, 6, 7, 1, 8, 9, 10]
>>> arr.pop()
10
>>> arr.pop(1)
2
>>> arr.pop(15)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: pop index out of range

2.remove是删除第一个符合参数的元素,不返回任何信息,若元素不存在有异常报出
>>> arr.remove(3)
>>> arr
[1, 4, 5, 6, 7, 1, 8, 9]
>>> arr.remove(11)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list

两者比较:pop默认最后一个值,有参数是索引值,且返回删除值。remove参数是元素值,且没有返回值。两者都修改列表
反转:通俗的理解就是第一个和最后一个换换位置,第二个和倒数第二个换换位置,依次类推。可以看一下例子:
>>> arr
[1, 4, 5, 6, 7, 1, 8, 9]
>>> arr.reverse()
>>> arr
[9, 8, 1, 7, 6, 5, 4, 1]

反转方法:修改了数组本来的位置。
排序。sort,默认从小到大排列,不返回任何信息,只改变列表元素位置。cmp可以实现特定要求排序,类似java中Comparator接口中compare方法,在这就不说了。
>>> arr.sort()
>>> arr
[1, 1, 4, 5, 6, 7, 8, 9]
>>> y=arr.sort()
>>> print y
None

sort(),不返回任何信息,只改变arr本身的值和反转方法类似


猜你喜欢

转载自studypi.iteye.com/blog/2203710
今日推荐