python 列表和元组

列表和元组

序列概述

​ python支持一种数据结构的基本概念,名为容器

​ 两种主要容器:序列(列表和元组)和映射(字典)。

​ 序列元素都有编号,映射中的元素有名称(键)。

元组 不可修改

通用序列操作

索引

​ python中没有字符的类型,一个字符就是只包含一个字符的字符串

A = 'hello'  #字符串,由字符组成的序列
A[0] = 'hello'[0]
h
切片
tag = '<a herf="http://www.python.org">python web site</a>'
tag[9:30]
'http://www.python.org'
tag[32:-4]
'python web site'

简写

num = [1,2,3,4,5,6,7,8,9,10]
num[7:10]
[8,9,10]
num[-3:-1]  //无法达到-1元素
[8,9]
num[-3:0]  //不能倒序
[]
num[:]=num=num[0:]
[1,2,3,4,5,6,7,8,9,10]
num[:-1]
[1,2,3,4,5,6,7,8,9]
num[1:]
[2,3,4,5,6,7,8,9,10]

大步长

num[0:10:2]
[1,3,5,7,9]
num[::4]
[1,5,9]
num[8:3:-1]   #逆序切片   num[::-1] 逆序打印
[9,8,7,6,5]
序列相加
[1,2,3]+[4,5,6]
[1,2,3,4,5,6]
'hello,'+'nerd'
'hello,nerd'
相乘
'nerd'*3
'nerdnerdnerd'
[32]*3
[32,32,32]
成员资格
A = 'string'
's' in A
True
'x' in A
False
'ing' in A
True
B = ['my','list','there']
'my' in B
True

len、max、min

num = [12,3,5,7,89,6,433]
len(num) 
7
max(num)
433
min(num)
3
min(9,1,2,1,5,0,36)
0

列表

list()
A=list('hello')
A
['h','e','l','l','o']
''.join(A)
'hello'
基本操作

修改

x = [1,1,3]
x[2]=1
[1,1,1]

删除

names=['Alice','Beth','Earl','Maxi','Chaling']
del names[2]
['Alice','Beth','Maxi','Chaling']

切片赋值

name = list('perl')
name[2:]=list('al')
name
['p','e','a','l']
num = [1,5]
num[1:1]=[2,3,4]
[1,2,3,4,5]
num[1:4]=[]
[1,5]
列表方法

append

a=[]
a.append(1,2,3)
[[1,2,3]]

clear

a.clear()  #清空列表
[]

copy

a=[1,2,3]
b=a    //b改变a也会改变
b[1]=4   
a
[1,4.3]
b=a.copy()  //a不随b改变而改变

count

['1','sf','netli','2','1','ad','ap'].count('1')
2
x = [[1,2],[1,3],1,1,[2,3],[[1,2],[2,3]]
x.count(1)
2
x.count([1,2])
1

extend

a=[1,2,3]
b=[4,5,6]
a.extend(b)
[1,2,3,4,5,6]
a=a+b   //效率低
a[len(a):]=b
[1,2,3,4,5,6]  //可读性不高

idnex

knight=['we','are','the','knigth','who','say','ni']
knight.index('the')
2

insert

x = [1,2,3,5,6,7]
x.insert(3,'four')
[1,2,3,'four',5,6,7]

pop

唯一一个既修改列表又返回非None值的列表方法

x = [1,2,3]
x.pop()
3
x
[1,2]
x.pop(1)
2
x
[1]

remove

x = [1,2,3]  //修改列表 不返回任何值
x.remove(3)
[1,2]

reverse

x = [1,2,3] //修改列表  不返回任何值
x.reverse()
[3,2,1]
reversed(x)  //不返回列表 返回迭代器

sort

Sorting Mini-HOW TO”:https://wiki.python. org/moin/HowTo/Sorting

a = [6,4,5,7,2,4,6,3]    //修改列表
a.sort()
[2,3,4,4,5,6,6,7]
b = a.sort()    //不返回任何值
print(b)
None
sorted('python')
['h', 'n', 'o', 'p', 't', 'y']

>>> x = ['aardvark', 'abalone', 'acme', 'add', 'aerate'] 
>>> x.sort(key=len)
>>> x
['add', 'acme', 'aerate', 'abalone', 'aardvark']

x=[4,6,2,1,7,9]
x.sort(reverse=True)
[9,7,6,4,2,1]

元组

无法修改

1,2,3
(1,2,3)
1,
(1,)
tuple('abc')
('a','b','c')
tuple([1,2,3])
(1,2,3)
['aardvark 'abalone', 'acme', 'add', 'aerate'] 
x.sort(key=len)
x
['add', 'acme', 'aerate', 'abalone', 'aardvark']

x=[4,6,2,1,7,9]
x.sort(reverse=True)
[9,7,6,4,2,1]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值