Python容器类:列表(list)

列表由一系列有序排列的对象构成,且是异构的,即一个列表可以包含多种类型的对象。
列表的特点:有序、有下标(下标从0开始,反向则从-1开始)、可索引、可切片、可拼接、可修改(添加,删除、替换)、可嵌套
实例:

y=[]  #创建一个空列表,列表名=[]
y1=[1,2,'a','b']  #直接构造一个列表
y2=[3,'j']
w=[5,11,8,2,9]
#列表嵌套
t = [[8,9],4,'f',[5,6,7],5]

y1[0]   #列表索引,返回1
y1[-1]  #列表索引,返回b,下标为负数表示反向
y1[1:3]  #列表索引,返回[2,'a'],是前开后闭区间
#嵌套列表索引
t[0]   #返回 [8, 9]
t[0][1]  #返回 9

y3=y1+y2  #列表拼接,y3=[1, 2, 'a', 'b', 3, 'j']']
y4=y1+[10,11]  #  y4=[1, 2, 'a', 'b', 10, 11]
y5=y2*5  #列表重复,y5=[3, 'j', 3, 'j', 3, 'j', 3, 'j', 3, 'j']

y2[1]=11 #修改列表。y2=[3, 11]
y1[1:3]=[5,'word']  #修改一个片段,前闭后开,y1=[1, 5, 'word', 'b']
y1[1:3]=[ ] #利用空格删除,y1=[1, 'b']
y1[1:1]=['word'] #等价于插入,y1=[1, 'word', 'b']
y1[len(y1):0]=['hellow' ]  #等价于在尾部插入,y1=[1, 'word', 'b', 'hellow']
len(y1)  # 4 len()返回列表的元素个数

#列表的方法,列表.方法名
y1.insert(0,'h')  #在y1的0位置增加元素'h',y1=['h', 1, 'word', 'b', 'hellow']
y1.append(6)  #在y1列表的尾部添加 6,y1=['h', 1, 'word', 'b', 'hellow', 6]
del y1[1]  #删除y1列表下标为 1 的元素 y1=['h', 'word', 'b', 'hellow', 6]
#列表的内置排序
w.sort()  #对列表w进行排序,w=[2, 5, 8, 9, 11]
w.reverse()   #逆序,w=[11, 9, 8, 5, 2],

#循环构造列表
li=[i*2 for i in range(9)]   # li=[0, 2, 4, 6, 8, 10, 12, 14, 16], 
# i in range(9)表示i的取值为:0-8
li1=[i for i in range(15) if '2' not in str(i)]  # 添加一条件,li1=[0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14]

两个字符串/列表比较 :
如果第一个字符(元素)不等: 结束比较,根据此字符的大小决定结果
若相等:则比较第二个字符
以此类推,直至一方达到末尾,长度更长 的大于长度短的。
若长度也相同,则判定两者相等。

列表的方法:

方法功能
.append(x)在列表尾部添加单个元素x,使用多个参数会引起异常
extend(L)将列表L中的表项添加到列表中,返回None
insert(i,x)在下标为i的元素前插入对象x,返回None。若i=0,则在第一项插入x
count(x)返回对象x在列表中出现的次数
inde(x)返回列表中与对象x匹配的第一个列表项的索引(下标)
sort()对列表排序,返回none
reverse()逆序
pop(i)删除列表下标为i的表项,并返回该表项的值,若未指定下标,pop返回列表最后一项
remove(x)删除列表中匹配对象x的第一个元素,返回none
copy()返回列表的浅复制,类似[ : ]

列表的赋值语义:
在这里插入图片描述
列表的应用:
这是华为的一个笔试题:
小明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
在这里插入图片描述在这里插入图片描述

#利用集合不重复的特性去重,再利用列表的排序方法.sort()
n=int(input())   #输入随机数的个数n
li2=[]   #创建一个空列表
for i in range(n):
    li2.append(int(input()))  #将输入的随机数从储存在列表中
s=set(li2)  #去重,利用set()函数,把列表转化为集合
li4=list(s)  #用list()把集合转为列表
li4.sort()   #排序
li5=[str(i) for i in li4]
print("\n".join(li5))   #依次输出

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值