python列表(list)

目录

列表的定义:

列表的索引:

其他类型转换为列表类型:

 列表的切片:

常用方法:

增:

append(追加,在原列表中尾部追加值):

insert(插入,在原定的列表指定索引位置插入值):

extend(扩展,将一个列表中的元素添加到另一个列表):

删:

remove(删除 在原列表中根据值删除(从左到右找到第一个删除):

pop(在原列表中根据索引删除某个元素并弹出这个值):

clear(清空原列表):

 del (根据列表索引删除值):

改:

reverse(将列表逆序排序):

sort(将列表中的可迭代对象进行排序)

 sorted(将列表中的可迭代对象进行排序)

根据索引替换元素 改元素:

查:

len()(获取列表长度):

 列表嵌套:


列表的定义:

数据类型为:list,列表由一系列按特定顺序排列的元素组成。简单来说就是有序列的容器,在里面可以放很多元素。由变量名=[]组成

lists = []                                              #空列表,没有添加任何的元素
name_lists=['小明','小红','小亮']                        #支持存放字符串
age_lists=[19,12,32]                                    #支持存放整形
content_lists=['你好',18,True]                          #支持多个不同类型同时存放
nested_lists=['名字',17,True,[18,False],{'name':'小明'}]#支持嵌套列表、元组、字典

列表的索引:

以0为开始,用来获取列表的某个值,由于索引由0开始,所以每个元素索引n-1.负数表示从右往左取

content=[18,19,31,19,41]
print(content[0])           #输出结果为18
print(content[4])           #输出结果为41
print(content[-1])          #输出结果为41

其他类型转换为列表类型:

使用list()包住需要转换的数据类型即可!

content_str='你好'
content_list=list(content_str)
print(content_list)                 #输出结果为:['你', '好']
print(type(content_list))           #输出结果为:<class 'list'>

 列表的切片:

与字符串的切片类似,具体查看下面!python中字符串常用方法_HHYZBC的博客-CSDN博客https://blog.csdn.net/HHYZBC/article/details/123427552

常用方法:

增:

append(追加,在原列表中尾部追加值):

翻译为:附加

name_lists=['你好']           #定义一个列表
name_lists.append('世界') #将世界追加在列表最后面
print(name_lists)#输出结果为['你好', '世界']

insert(插入,在原定的列表指定索引位置插入值):

翻译为:插入

content=[18,19,31,12,41]
content.insert(1,'你好')  #在该列表索引1的位置插入‘你好’
print(content)          #输出结果为[18, '你好', 19, 31, 12, 41]

extend(扩展,将一个列表中的元素添加到另一个列表):

翻译为:延长

content=[18,19,31,12,41]
name_lists=['你好']
content.extend(name_lists)  #将name_lists列表加到content列表后面
print(content)      #输出结果[18, 19, 31, 12, 41, '你好']

删:

remove(删除 在原列表中根据值删除(从左到右找到第一个删除):

翻译为:消除

content=[18,19,31,19,41]
content.remove(31)  #找到31并删除
content.remove(19)  #从左往右数第一个19进行删除
print(content)      #输出结果为[18, 19, 41]

 如果没有找到该值,会报错ValueError: list.remove(x): x not in list!

pop(在原列表中根据索引删除某个元素并弹出这个值):

翻译为:枪击、爆声、流行乐曲

content=[18,19,31,19,41]
x=content.pop(2)    #将索引2的值删除并将这个值赋值给x
print(x)            #输出结果为:31
print(content)      #输出结果为[18, 19, 19, 41]

clear(清空原列表):

 翻译为:清除

content=[18,19,31,19,41]
content.clear()     #清空该列表
print(content)      #输出结果为[]

 del (根据列表索引删除值):

del在python中是内置关键字!

content=[18,19,31,19,41]
del content[2]
print(content)          #输出结果为[18, 19, 19, 41]

改:

reverse(将列表逆序排序):

翻译为:逆转

content=[18,19,31,19,41]
content.reverse()
print(content)      #输出结果为[41, 19, 31, 19, 18]

sort(将列表中的可迭代对象进行排序)

 翻译为分类、类、类别。它是列表(list)的方法,返回值为None,排序后是直接在原列表上进行修改。函数原型为sort(key,reverse=False)

key 指定一个参数的函数,该参数用于从每个列表元素中提取比较键。与列表中的每个项目对应的键计算一次,然后用于整个排序过程。默认值(Nome)表示列表项直接排序,而不计算单独的键值。如果需要对单独的键名进行排序,则使用lambda a:a[n]参数,其中的n表示键值的索引。

reverse指定一个布尔类型参数,表示排序顺序,当False时为升序,Ture时则为降序。

在修改时是在原列表上直接进行修改! 

list1=[[12],[142],[13],[31]] 
list1.sort(key=None,reverse=True)   #默认值,可以省略
print(list1)        #[[142], [31], [13], [12]]

list2=[[12,32],[42,41],[37,61],[15,31]]
list2.sort(key=lambda x:[1],reverse=True)   #根据内部嵌套列表索引1的元素进行升序
print(list2)    #[[12, 32], [42, 41], [37, 61], [15, 31]]

list3=[('我',188),('小明',156),('小红',167)]
list3.sort(key=lambda x:x[1],reverse=False)     #根据内部的元组索引1的元素进行降序
print(list3)    #[('小明', 156), ('小红', 167), ('我', 188)]

list4=['abc','hhh','cert']
list4.sort(key=lambda x:x[1],reverse=True)      #根据内部字符串索引为1的元素降序降序
print(list4)        #['hhh', 'cert', 'abc']

list5=[{'age':123},{'age':132},{'age':10}]        #对列表内的字典进行排序
list5.sort(key=lambda x:x['age'],reverse=True)  
print(list5)        #输出结果为[{'age': 132}, {'age': 123}, {'age': 10}]

注意: 

  1. 当对字典进行排序时,是输入要排序的键名,而不是索引,而且字典的键名需要相同!
  2. 在对字符串进行排序时,它对比的是第一个字符ascii码表进行排序
  3. 对象一定要是可迭代对象,可迭代代谢一共有:列表(list)、元组(tuple)、字符串(str)、字典(dict)等类型。并且列表内部的嵌套中必须是同一种类型,否则会报错 '<' not supported between instances of 'list' and 'str'。错误示范:
list1=[[12],[142],[13],'hhh']   #内部是列表和字符串类型
list1.sort(key=None,reverse=True)
print(list1)        

 sorted(将列表中的可迭代对象进行排序)

与sort类似,区别是这个是函数,而sort是列表的方法,并且sorted排序是不会对原列表进行修改,而是返回一个新的列表。

参数也与sort一样

key 指定一个参数的函数,该参数用于从每个列表元素中提取比较键。与列表中的每个项目对应的键计算一次,然后用于整个排序过程。默认值(Nome)表示列表项直接排序,而不计算单独的键值。如果需要对单独的键名进行排序,则使用lambda a:a[n]参数,其中的n表示键值的索引。

reverse指定一个布尔类型参数,表示排序顺序,当False时为升序,Ture时则为降序。

content1 = [2, 1, 4, 3, 64, 6]  # 列表
content2 = sorted(content1, reverse=False)  # 进行升序
print(content2)  # 输出结果[1, 2, 3, 4, 6, 64]
content_list1 = [[1, 3], [2, 6], [3, 2], [4, 5]]  # 嵌套列表
content_list2 = sorted(content_list1, key=lambda x: x[1], reverse=True)  # 对内部列表索引1进行降序
print(content_list2)  # 输出结果[[2, 6], [4, 5], [1, 3], [3, 2]]

content_str1 = ['14', '2', '41', '31', '23']  # 列表内部是字符串
content_str2 = sorted(content_str1)  # 对字符串进行升序
print(content_str2)  # 输出结果['14', '2', '23', '31', '41']

content_tuple1 = [(1, 2), (2, 1), (3, 41), (4, 5)]  # 列表内部是元组
content_tuple2 = sorted(content_tuple1, key=lambda x: x[1])  # 对内部元组索引1进行升序
print(content_tuple2)  # 输出结果为[(2, 1), (1, 2), (4, 5), (3, 41)]

content_dict1 = [{'name': 42}, {'name': 13}, {'name': 43}, {'name': 21}]  # 列表内部是字典
content_dict2 = sorted(content_dict1, key=lambda x: x['name'])  # 对键名为'name'的值进行升序
print(content_dict2)  # 输出结果为[{'name': 13}, {'name': 21}, {'name': 42}, {'name': 43}]

 注意:

  1. 对字典进行排序时键名需要相同
  2. 对字符串排序时是根据第一个字符的ascii码进行排序
  3. 其中的对象也需要相同,否则会报错

这几点都是与sort方法一样的。

根据索引替换元素 改元素:

找到需要修改的值的索引重新赋值即可。

content=[18,19,31,19,41]
content[2]=55
print(content)          #输出结果为[18, 19, 55, 19, 41]

查:

len()(获取列表长度):

content=[18,19,31,19,41]
print(len(content))         #输出结果为5

 列表嵌套:

content=[18,19,31,[12,32,16],41]            #列表嵌套
print(content[3])       #输出结果为[12, 32, 16]
print(content[3][1])    #输出结果为32

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HHYZBC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值