python学习笔记(二)之元组,集合,列表,字典的区别和应用(一)

概念

任意对象的有序集合。列表是一组任意类型的值,按照一定顺序组合而成的。组成列表的值叫做元素(Elements)。每一个元素被标识一个索引,第一个索引是0,序列的功能都能实现。
特点:可重复,类型可不同。

运用方法

(一)创建链表

1.基本语法 [ ] 创建
2.list()创建———将任何可迭代的数据转化成列表
3.range()创建——创建整数列表,list(range([start,] ,[,step],end))

listname=['a',1,2,'boy',"girl"]  #链表用 [] 表示
list(range(10))
list(range(0,20,2))

(二)访问链表

1、索引
通过索引可直接访问列表元素,当超出列表范围时,python会报错

print listname[0]#索引从0开始
print listname[-1] #listname[-1]代表列表最后一个元素
#即使不知道列表长度,也可使用-1获取最后一个元素,-2获取倒数第二个元素,以此类推

2、切片
切片 slice 操作可以让我们快速提取子列表或修改。标准格式为:[起始偏移量 start:终止偏移量 end[:步长 step]]

listname[start :end]	#截取的元素包括开始的,不包括最后的
listname[:]		#提取整个列表
listname[:-1]	#排除最后一个元素
listname[-3:]	#倒数三个
listname[-5:-3] #包头不包尾
listname[1:5:2] #带有步长的切片,[1,5)隔二取一
listname[::-1]  #步长为负,从右到左,反向提取

(三)修改链表

列表能使用的方法
1、增
1.+运算符操作(创建新的列表对象,不是真正的尾部追加)————列表+[数据] 或列表1+列表2
2.在指定位置插入————列表.insert(索引,数据)

3.在列表末尾追加数据(原地修改列表对象)————列表.append(数据)
4.扩展列表(将列表2中的完整数据追加到列表1末尾,属原地操作)————列表.extend(列表2)

print listname+["妈妈"] #将原列表的元素和新列表的元素依次
复制到新的列表对象中。这样,会涉及大量的复制操作,对于操作大量元素不建议使用。
listname.insert(1,"姐姐")
listname.append("妹妹")
listname2=["妹妹""哥哥""爸爸"]
listname1.extend(listname2)
listname.extend([7,8]) #extend 接受一个参数,这个参数总是一个 list,并且把这个 list 中的每个元素添加到原 list 中。

2、删
1.删除指定索引数据(从内存中删除)————del 列表[索引]
2.删除第一个出现的指定数据(已知要删除元素的值)————列表.remove(数据)
3.删除末尾数据,并返回该删除的值————列表.pop()
4.删除指定索引数据,并返回该删除的值————列表.pop(索引)
5.清空列表————列表.clear

listname=["aa","bb","cc","dd"]
del listname[1]
del listname #从内存中删除整个列表,python提示错误
listname.remove("bb")
listname.pop()
listname.pop(2)
listname.clear #print listname结果为[]

3、查
1.获取数据在列表中首次出现的位置(已知数据内容,想确定数据位置)————列表.index(数据)
2.获取数据在指定范围内首次出现的位置————列表.index(数据,[start],[end])
3.查看数据在列表中出现的次数(可进行成员资格判断,return值大于0,则表示指定元素存在)————列表.count(数据)
4.判断元素是否在列表中————数据 in 列表
5.获取列表长度————len(列表)
6.获悉类型————type(列表)
7.查看官方内置函数————dir(list)与help(list) 命令

listname.index('a')
listname.index('a',1,4)
listname.count('a')
print 100 in listname #返回值为Ture 或False
len(listname)
type(listname) #返回class 'list'
help(list)
dir(list)

4、改
1.通过索引,重新赋值————列表[索引]=数据
2.切片赋值————列表[起始索引:结束索引]=[数据1,数据2]

listname[0]='a'
listname[1]=2020
listname[:2]=['a','b']

5、排
1.升序排序(修改原列表,不建立新列表)————列表.sort()
2.降序排序————列表.sort(reverse=Ture)或列表.sort(reverse=非零数字)
3.反转逆序————列表.reverse()
4.升序排序(内置函数建立新列表,不对原列表做修改)————sorted(列表)
5.逆序排列(内置函数不对原列表做任何修改,只是返回一个 :只能使用一次逆序排列的迭代器对象。)————reserved(列表)
6.打乱原有顺序————random.shuffle(列表)

listname.sort()
listname.sort(reverse=Ture)
listname.sort(reverse=2)
listname.reverse()
sorted(listname)
reversed(listname)
import random
random.shuffle(listname)

6、遍历

for x in listname	#for循环遍历

7、嵌套列表

listname=[1,2,'a',[3,'b']]	#创建
listname[0][1]	#索引,类似于二维数组
listname[:][:-1]	#切片

8、其他

min(listname)	#取列表最小值
max(listname)	#取列表最大值,只能用于数据为同类型的列表
sum(listname)	#求和
listname*2		#重复
listname.copy() #复制

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值