Python 列表(上)

列表是Python的一个可以增删查改的序列,这个序列是有序的,用方括号包含。

最近在学习Python,简单写一下一些列表(list)相关的操作,用的图片是Jupyter Notebook截图,蛮好用的,不做项目单纯学习的过程用这个会比较轻便,安装可以参考这位大佬的 Jupyter Notebook安装教程

创建转化

创建很简单,变量名=[],方括号内可以写也可以不写元素,元素用引号(单引号双引号都行,Python不区分这两者)括起来,不同元素之间用逗号分隔:

testlist1 = ["Google", "Huawei", "Microsoft", "Apple", "Tencent"]
testlist2 = []

有时候要把一个序列转化为列表,只需要将该序列丢到list()内:

testlist3 = list(range(10)) 

运行结果:
在这里插入图片描述
总的来说,列表的样式类似于一个类型非常自由的数组,其下标也是如此,第一个元素的下标是0,也就是说对第n个元素是list[n-1],这和大部分的编程语言是一致的。

增加元素

名称功能
append(value)在列表末尾加入元素value
insert(num,value)加入元素value到num下标位置
extend(list2)将list2接在列表后

需要注意的是,insert是插入到对应的位置而不是在其后插入,value是插入之后的列表的list[num],extend函数是在列表后加入某序列。以一个简单列表为例:

testlist4 = [0,"one",3,4,5]
testlist5 = [7,8,9]
print(testlist4)
testlist4.append(6)
print(testlist4)
testlist4.insert(2,2)
print(testlist4)
testlist4.extend(testlist5)
print(testlist4)

运行结果:
注意一下insert函数!

删除元素

名称功能
del list[num]del不是列表独有的,可以删掉具体元素或者整个列表
pop(num)删除某个位置的元素并且返回该元素的值,不填则缺省最后一个元素
remove(value)从左往右地删除为某值的元素,一次只删除一个

del不是列表独有的,del后面跟Python的任意对象都是可以的。pop相对于del,可以返回删除的元素,所以有时候需要用到这个值的时候就可以用pop,例子:

testlist6 = [0,81,1,4,9,9999,16,25,36,49,50,64,81,100]
print(testlist6)
del testlist6[5]
print(testlist6)
the_pop = testlist6.pop()
print("默认pop为最后一个元素:" + str(the_pop))
print(testlist6)
the_valuepop = testlist6.pop(9)
print("pop具体位置某一个元素:" + str(the_valuepop))
print(testlist6)
testlist6.remove(81)
print(testlist6)

运行结果:
在这里插入图片描述

查找元素

名称功能
count(value)计数,返回要计数的元素在列表当中的个数
index(value)从左往右返回查到的第一个指定元素的索引,如果没有找到,报错
“value” in list查找元素是否在列表中,在输出true,否则false

来一个浑水摸鱼的列表:

testlist7 = ["fish","fish","MuddyWater","MuddyWater","NeedValue","fish","MuddyWater","fish","MuddyWater","MuddyWater"]
print( testlist7.count("fish") )
print( testlist7.index("NeedValue") )
print( testlist7.index("MuddyWater") )
print( "fish" in testlist7 )

运行结果:
在这里插入图片描述

列表排序

方法功能
sort()默认排序按照ASCII码顺序排序,可以加入reverse=True变成ASCII码逆序,还可自定义函数
sored()暂时创建一个副本进行排序,其余规则与sort一致
reverse()直接将列表逆序,仅仅是将目前列表倒排

函数相关的将会在以后举例,日常最常用的例子:

testlist8 = [1,2,10,3,4,5,6,7,8,9]
testlist9 = ["Baidu","Xiaomi","OPPO","Vivo","ZTE","Alibaba"]
# 对testlist8进行取逆,注意10这个元素
testlist8.reverse()
print(testlist8)
# 对testlist8排序,从小到大排序完成
testlist8.sort()
print(testlist8)
# 副本排序
print(sorted(testlist9))
# 原列表testlist9并没有改变
print( testlist9 )
# 对testlist9按照ASCII码逆序排序
testlist9.sort( reverse = True )
print(testlist9)

运行结果:在这里插入图片描述

其他

len(list)返回列表长度:

print( len(testlist9) )

运行结果:
在这里插入图片描述
此外,还有进阶的切片等操作,后续我将会更新在列表下半部分。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值