bsp 删除元素 内部 world [0 har move 是否 跳过
序列通用操作:
1、判断数据是否存在与欲裂中: x(元素) in s(序列) || x(元素) not in s(序列)
- >>> num=[1,2,3,4,‘tom‘,‘jack‘,‘marry‘]
- >>>
- ‘
- tom
- ‘
- in
- num
- True
- >>> ‘marry‘ not in num
- False
2、连接序列 : s1(序列)+s2(序列)
- >>> num1=[1,2,3,4]
- >>> num2=[‘tom‘,‘marry‘,‘jack‘]
- >>> num1+num2
- [1, 2, 3, 4, ‘tom‘, ‘marry‘, ‘jack‘]
3、重复序列元素:[num]*3
- >>> [3]*4
- [3, 3, 3, 3]
- >>> num1=[1,2,3,4]
- >>> num1*2
- [1, 2, 3, 4, 1, 2, 3, 4]
4、通过下表获取元素:s[ i ]
- >>> num=[‘marry‘,‘jom‘,‘doudou‘,‘jiangjiang‘]
- >>>
- num
- [
- 2
- ]
- ‘doudou‘
- >>>
- num
- [
- 1
- ]
- ‘jom‘
- >>>
- num
- [-
- 1
- ]
- ‘jiangjiang‘ //角标为-1的是最后一个元素
5、访问指定索引范围元素:s [ i : j ] //访问角标以 i 开始,j 结束的元素 (注意:包头不包尾,即不包括元素 s[j] )
- >>> num=[‘marry‘,‘jom‘,‘doudou‘,‘jiangjiang‘,1,2,3]
- >>>
- num
- [
- 3
- :
- 7
- ]
- [‘jiangjiang‘, 1, 2, 3] //此处即不包括元素num[7]元素
6、按步长访问指定索引范围:s [ i : j : k ] //访问角标以 i 开始,j 结束的元素,中间跳过 k -1 个元素
- >>> num=[‘marry‘,‘jom‘,‘doudou‘,‘jiangjiang‘,1,2,3]
- >>>
- num
- [
- 3
- :
- 7
- ]
- [‘
- jiangjiang
- ‘,
- 1
- ,
- 2
- ,
- 3
- ]
- >>> num[3:7:2]//每获取一个元素,跳过2-1个元素
- [‘
- jiangjiang
- ‘,
- 2
- ]
- >>>
- num
- [
- 3
- :
- 7
- :
- 3
- ]
- [‘jiangjiang‘, 3]//每获取一个元素,跳过3-1个元素
7、获取序列的长度: len(s)
- >>> num=[‘marry‘,‘jom‘,‘doudou‘,‘jiangjiang‘,1,2,3]
- >>>
- len
- (
- num
- )
- 7
8、获取序列的最小或最大值 :max(s) || min(s)
- >>>
- num
- =[
- 33
- ,
- 44
- ,
- 55
- ,
- 66
- ,
- 111
- ,
- 33
- ]
- >>>
- max
- (
- num
- )
- 111
- >>>
- min
- (
- num
- )
- 33
- >>> num2=[‘q‘,‘w‘,‘e‘,‘r‘,‘f‘,‘a‘]
- >>>
- max
- (
- num2
- )
- ‘w‘
- >>>
- min
- (
- num2
- )
- ‘a‘
9、统计序列的总和:sum(s)
- >>> num1=[1,2,3,4,5,6]
- >>> sum(num1)
- 21
10、检索某一元素第一次出现的下标:s.index(x) //s为序列,x为要查询元素
- >>> num=[‘marry‘,‘bob‘,‘marry‘,‘jack‘,‘tom‘,‘shark‘,‘eye‘]
- >>> num.index(‘marry‘)//检索第一次出现的位置
- 0
- >>>
- num
- .
- index
- (‘
- shark
- ‘)
- 5
11、统计某一元素在序列中出现的次数: s.count(x) //s为序列,x为要查询元素
- >>> num=[‘marry‘,‘bob‘,‘marry‘,‘jack‘,‘tom‘,‘shark‘,‘eye‘]
- >>>
- num
- .
- count
- (‘
- marry
- ‘)
- 2
- >>>
- num
- .
- count
- (‘
- eye
- ‘)
- 1
以上所有Python序列都支持。
可变序列通用操作
1、增加序列中的元素
s.insert(n,obj)//在角标为n的位置插入对象obj
- >>> num=[‘marry‘,‘bob‘,‘jack‘]
- >>> num.insert(2,‘zhangsan‘)
- >>> num
- [‘marry‘, ‘bob‘, ‘zhangsan‘, ‘jack‘]
- >>> num.insert(2,[‘lisi‘,‘wangwu‘])
- >>> num
- [‘marry‘, ‘bob‘, [‘lisi‘, ‘wangwu‘], ‘zhangsan‘, ‘jack‘]
s.append(obj) //把括号中元素作为一个对象加入
- >>> num=[‘marry‘,‘bob‘,‘jack‘]
- >>> num.append([1,2,3])
- >>> num
- [‘marry‘, ‘bob‘, ‘jack‘, [1, 2, 3]]
- >>> num.append(‘tiger‘)
- >>> num
- [‘marry‘, ‘bob‘, ‘jack‘, [1, 2, 3], ‘tiger‘]
s.extend(obj) //把obj这个对象中的元素加入s序列中
- >>> num=[‘marry‘,‘bob‘,‘jack‘]
- >>> num2=[1,2,3]
- >>> num.extend(num2)
- >>> num
- [‘marry‘, ‘bob‘, ‘jack‘, 1, 2, 3]
2、删除元素
del s [ i ] //删除序列元素中角标为i的元素
- >>> num=[‘marry‘,‘bob‘,‘jack‘]
- >>>
- del
- num
- [
- 0
- ]
- >>> num
- [‘bob‘, ‘jack‘]
- >>>
- del
- num
- [-
- 1
- ]
- >>> num
- [‘bob‘]
del s[m:n:k] //删除为角标 m到n的元素,包头不包尾,每删除一个元素跳过k-1个元素
- >>> num=[‘marry‘,‘bob‘,‘jack‘,‘zhangsan‘,‘lisi‘,‘wangwu‘]
- >>>
- del
- num
- [
- 0
- :-
- 1
- :
- 2
- ]
- >>> num
- [‘bob‘, ‘zhangsan‘, ‘wangwu‘]
s[m:n]=[] //删除序列角标为m到n-1
- >>> num=[‘marry‘,‘bob‘,‘jack‘,‘zhangsan‘,‘lisi‘,‘wangwu‘]
- >>>
- num
- [
- 2
- :
- 5
- ]=[]
- >>> num
- [‘
- marry
- ‘,
- ‘
- bob
- ‘,
- ‘
- wangwu
- ‘]
s.pop(n) //返回并删除角标为n的元素,不写角标默认删除并弹回最后一个元素。角标越界报异常
- >>> num=[‘marry‘,‘bob‘,‘jack‘,‘zhangsan‘,‘lisi‘,‘wangwu‘]
- >>>
- num
- .
- pop
- ()
- ‘wangwu‘
- >>> num
- [‘marry‘, ‘bob‘, ‘jack‘, ‘zhangsan‘, ‘lisi‘]
- >>>
- num
- .
- pop
- (
- 0
- )
- ‘marry‘
- >>> num
- [‘bob‘, ‘jack‘, ‘zhangsan‘, ‘lisi‘]
s.remove(obj) //在序列中删除obj这个元素,若元素不存在,则抛异常
- >>> num=[‘marry‘,‘bob‘,‘jack‘,‘zhangsan‘,‘lisi‘,‘wangwu‘]
- >>>
- num
- .
- remove
- (‘
- marry
- ‘)
- >>> num
- [‘bob‘, ‘jack‘, ‘zhangsan‘, ‘lisi‘, ‘wangwu‘]
- >>> num.remove(‘liubei‘)//序列中没有‘liubei’ ,抛异常
- Traceback
- (
- most recent call
- last
- ):
- File "<stdin>", line 1, in <module>
- ValueError: list.remove(x): x not in list
s.clear() //删除序列中的所有元素
- >>> num=[‘marry‘,‘bob‘,‘jack‘,‘zhangsan‘,‘lisi‘,‘wangwu‘]
- >>> num
- [‘marry‘, ‘bob‘, ‘jack‘, ‘zhangsan‘, ‘lisi‘, ‘wangwu‘]
- >>>
- num
- .
- clear
- ()
- >>> num
- []
3、修改序列元素
s[i]=x //序列中角标为i的元素赋值为x
- >>> num=[‘marry‘,‘bob‘,‘jack‘,‘zhangsan‘,‘lisi‘,‘wangwu‘]
- >>> num
- [‘marry‘, ‘bob‘, ‘jack‘, ‘zhangsan‘, ‘lisi‘, ‘wangwu‘]
- >>>
- num
- [-
- 1
- ]=‘
- liubei
- ‘
- >>> num
- [‘marry‘, ‘bob‘, ‘jack‘, ‘zhangsan‘, ‘lisi‘, ‘liubei‘]
- >>>
- num
- [-
- 3
- ]=‘
- guanyu
- ‘
- >>> num
- [‘marry‘, ‘bob‘, ‘jack‘, ‘guanyu‘, ‘lisi‘, ‘liubei‘]
s[n:m]=t //将s序列中角标从n到m-1 的元素替换成t序列的元素
- >>> num=[‘marry‘,‘bob‘,‘jack‘,‘zhangsan‘,‘lisi‘,‘wangwu‘]
- >>> num
- [‘marry‘, ‘bob‘, ‘jack‘, ‘zhangsan‘, ‘lisi‘, ‘wangwu‘]
- >>>
- num
- [
- 1
- :
- 3
- ]=[
- 11
- ,
- 12
- ,
- 13
- ,
- 14
- ,
- 15
- ,
- 16
- ]
- >>> num
- [‘marry‘, 11, 12, 13, 14, 15, 16, ‘zhangsan‘, ‘lisi‘, ‘wangwu‘]
- >>> num[:]=[‘q‘,‘w‘,‘e‘,‘r‘,‘t‘,‘y‘,‘u‘,‘i‘]//整体全部替换
- >>> num
- [‘q‘, ‘w‘, ‘e‘, ‘r‘, ‘t‘, ‘y‘, ‘u‘, ‘i‘]
s[n:m:k]=t //将s序列中角标从n到m-1 的元素替换成t序列的元素,每替换一个元素跳过k-1个元素,切记t序列元素的个数必须和被替换的元素个数相等
- >>> num=[‘marry‘,‘bob‘,‘jack‘,‘zhangsan‘,‘lisi‘,‘wangwu‘]
- >>> num[2:5:2]=[‘hello‘,‘world‘]
- >>> num
- [‘marry‘, ‘bob‘, ‘hello‘, ‘zhangsan‘, ‘world‘, ‘wangwu‘]
- >>> num[2:5:2]=[‘hello‘,‘world‘,‘kkkkk‘]//此时替换的序列多了一个元素,抛异常
- Traceback
- (
- most recent call
- last
- ):
- File "<stdin>", line 1, in <module>
- ValueError: attempt to assign sequence of size 3 to extended slice of size 2
4、元素排序翻转
s.reverse() //元素内部顺序颠倒
- >>> num=[1,2,3,4,5,6,7,8]
- >>> num
- [1, 2, 3, 4, 5, 6, 7, 8]
- >>> num.reverse()
- >>> num
- [8, 7, 6, 5, 4, 3, 2, 1]
- >>> print(num.reverse())//只在内部翻转,并不返回什么
- None
5、赋值序列内部元素
new=old.copy() //讲old序列中的元素复制的new序列上
- >>> num=[‘kk‘,‘ff‘,‘jj‘,‘gg‘]
- >>> num1=num.copy()
- >>> num1
- [‘kk‘, ‘ff‘, ‘jj‘, ‘gg‘]
- >>>
- num1
- [
- 2
- ]=
- 3
- >>> num1
- [‘kk‘, ‘ff‘, 3, ‘gg‘]
- >>> num
- [‘kk‘, ‘ff‘, ‘jj‘, ‘gg‘]
new=old[:] //讲old序列中的元素复制的new序列上
- >>> num=[‘kk‘,‘ff‘,‘jj‘,‘gg‘]
- >>>
- num1
- =
- num
- [:]
- >>> num
- [‘kk‘, ‘ff‘, ‘jj‘, ‘gg‘]
- >>> num1
- [‘kk‘, ‘ff‘, ‘jj‘, ‘gg‘]
- >>>
- num1
- [
- 2
- ]=‘
- tom
- ‘
- >>> num1
- [‘kk‘, ‘ff‘, ‘tom‘, ‘gg‘]
- >>> num
- [‘kk‘, ‘ff‘, ‘jj‘, ‘gg‘]
old=new //此种方法复制元素和上面两种复制有很大的不同,old与new二者共享引用,其实质任然指向同一个内存地址,无论哪一个序列发生改变,另一个会发生相同改变。
- >>> num=[‘kk‘,‘ff‘,‘jj‘,‘gg‘]
- >>>
- num1
- =
- num
- >>> num1
- [‘kk‘, ‘ff‘, ‘jj‘, ‘gg‘]
- >>> num1[2]=‘hello‘
- >>> num1
- [‘kk‘, ‘ff‘, ‘hello‘, ‘gg‘]
- >>> num
- [‘kk‘, ‘ff‘, ‘hello‘, ‘gg‘]
,
Python序列方法整理
bsp 删除元素 内部 world [0 har move 是否 跳过
原文:http://www.cnblogs.com/fudou/p/7821589.html
来源: http://www.bubuko.com/infodetail-2392165.html