python列表创建操作_python列表操作

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。如    list = ['a','b',2,5,'1']

1、新建列表

stus = [] #创建空列表

stus1 = list() #创建空列表

print(stus)print(stus1)

stus= ['范冰冰','维达','SOON','上述'] #创建非空列表

print(stus)

2、列表增加元素

stus = ['范冰冰','维达','SOON','上述']

stus.append('莉莉') #在列表末尾增加一个元素

stus.insert(2,'Lucy') #insert可以指定元素插入的位置

print(stus)

3、列表长度

stus = ['范冰冰','维达','SOON','上述']print(len(stus))

4、修改列表元素

stus = ['范冰冰','维达','SOON','上述']

stus[3] = '哈哈' #直接找到下标,对元素赋值

print(stus)

5、列表删除元素

stus = ['范冰冰','维达','SOON','上述']

stus.append('莉莉') #在列表末尾增加一个元素

stus.insert(2,'Lucy') #insert可以指定插入的位置

print(stus)print(len(stus))

stus[3] = '哈哈'

print(stus)

stus.pop()#默认删除最后一个元素

stus.pop(2) #删除下标为2的元素

stus.remove('范冰冰') #传入元素值,直接删除元素。 remove时必须传值

del stus[1] #删除指定下标的元素

print(stus)

stus.clear()#清空列表

print(stus)

stus.pop()、stus.remove()、 del stus[] 删除不存在的值时都会报错。

6、查询元素,查询元素下标

stus = ['范冰冰','维达','SOON','上述']print(stus[2]) #查找指定下标的元素

print(stus.count('冰')) #查找指定元素出现的次数,注意一个列表元素按照一个整体处理,该值返回0

print(stus.index('维达')) #按照元素名称查询元素下标

注意,按照元素查询下标的时候,若列表中有多个该元素,则返回第一次出现的该元素的下标。如果元素不存在,则报错

7、列表反转

stus = ['范冰冰','维达','SOON','上述']

stus1=[1,3,6,4,2,6,8,3]

stus.reverse()#直接列表反转

stus2 = list(reversed(stus1))#使用list函数进行反转

print(stus2)print(stus)#注意,反转的时候不能直接print(stus.reverse())

另外,按照列表切片也可以进行反转。

print(stus[::-1])

8、列表排序

stus1 =[1,3,6,4,2,6,8,3]

stus1.sort()#直接对列表进行排序

stus2 = list(sorted(stus1)) #按照list函数进行排序

print(stus2)

倒序排列

stus1 =[1,3,6,4,2,6,8,3]

stus1.sort(reverse=True) #倒序排列

stus2 = list(sorted(stus1,reverse=True)) #按照list函数进行倒序排序

print(stus1)print(stus2)

#注意,排序的时候不能直接print(stus1.sort()

备注:排序默认按照正序排列

9、两个列表相连

stus = ['范冰冰','维达','SOON','上述']

stus1=[1,3,6,4,2,6,8,3]

stus1.extend(stus)#两个列表相连,把一个list中的元素添加到另外一个list中

print(stus1)#注意写法,不能直接print(stu1.extend(stus))

也可以连接自己,把自己输出两遍

10、列表操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

Python 表达式结果描述

len([1, 2, 3])

3

长度

[1, 2, 3] + [4, 5, 6]

[1, 2, 3, 4, 5, 6]

组合

['Hi!'] * 4

['Hi!', 'Hi!', 'Hi!', 'Hi!']

重复

3 in [1, 2, 3]

True

元素是否存在于列表中

for x in [1, 2, 3]: print(x, end=" ")

1 2 3

迭代

11、列表截取--切片

切片是list取值的一种方式。切片取值是顾头不顾尾,取到尾巴的时候要加1,前面一个下标,后面一个下标,中间是冒号,下标从0开始时,前面可以不写。

stus = ['范冰冰','维达','SOON','上述']print(stus[2])print(stus[-2])print(stus[-2:])print(stus[1:2])print(stus[1:4:2])#步长为2时,中间隔一个

print(stus[::]) #复制一个新列表

print(stus[::-1]) #将原来的list倒序输出

print(stu0[2:5])

print(stu0[:5])代表从最前面开始取值

print(str0[4:10]),取后面的值,要是取到末尾,那么后面的下标可以不用写 print(str0[4:])

什么下标都不写的时候,相当于是复制一个新的List,如 new_stu0=stu0[:]

New_stu = stu[0],也是复制一个,但是在内存中的占用不一样

print(stu0[0:10:1]) ,再加一个冒号代表步长,代表隔一个或者隔几个取一个

print(stu0[0:10:2]),2的时候是跳过一个元素取一个值,

print(stu0[::-1])步长为负数时,从右往左取值,步长是正数时,是从左往右取

12、列表循环

stus = ['杨静', '王志华', '王银梅', '乔美玲','段鑫琪', '王立文', '赵燕','杨华', '周永波', '杨静']for index,stu in enumerate(stus,1):#同时取到下标和值

print("%s ==> %s"%(index,stu))

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。参数sequence为需要循环的序列,start为下标起始位置。

普通的list循环:可与上面对比

stus = ['杨静', '王志华', '王银梅', '乔美玲','段鑫琪', '王立文', '赵燕','杨华', '周永波', '杨静']

i=0for ele instus:print(i,stus[i])

i= i +1

如果直接循环一个list,那么每次取的就是list里面的每一个元素

13、多维数组

stu0 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

stu1= [1,2,3,4, ['a','b','c'], ['哈','呵'] ]

stu1[5][0] = '哈哈'

print(stu1)

stu2= [1,2,3,4,['a',['哈','哈','哈'],'b','c', ] ]#3维数组

stu2[4][1].insert(0,'呵呵呵')print(stu2)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值