当前位置:首页 » 《随便一记》 » 正文

python之列表详解

12 人参与  2023年03月31日 08:17  分类 : 《随便一记》  评论

点击全文阅读


文章目录

一.创建列表1.基于弱数据类型语言的定义2.通过全局函数list()定义3.创建空列表 二.访问列表的值1.通过下标索引2.通过for循环遍历3.通过while循环遍历 三.列表的分片四.列表方法1.append()列表后面添加元素2.insert()指定位置添加元素3.pop()删除元素4.count()返回的是某个元素在列表里面的个数5.extend() 合并列表6.index()返回的是元素在列表中的第一个位置7.remove()---------- 删除某个元素,如果有重复,删除的是第一次出现的元素,如果元素不存在会报错8.sort()进行排序(从小到大 int类型)可以对字母进行排序(ASCII值)类型不能混9.reverse()将列表进行翻转10.clear() 清除元素11.copy() 浅拷贝对象 不等价与 = 五.列表的操作1.拼接列表2.列表相乘3.判断 六.列表中元素的类型的多样性七.列表推导式八.列表常用方法总结

一.创建列表

数据类型list,list是python内置的一种高级数据类型。list是一种有序的集合,基于链表实现 在python中应用很广泛

1.基于弱数据类型语言的定义

names=['james', 'michael', 'emma', 'emily']print('names的数据类型:', type(names))#type()函数是查看变量类型print(names)

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

2.通过全局函数list()定义

ls2 = list([1, 2, 3, 4, 5])print(ls2)

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

3.创建空列表

age=[]#直接创建空列表print(age)print(len(age))#len()函数计算长度ls1 = list()#通过list()函数创建print(ls1)

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

二.访问列表的值

1.通过下标索引

names = ['james', 'michael', 'emma', 'emily']print(names[0])print(names[-1])  #访问列表中的最后一个值print(names[-2])#访问列表中的倒数第二个元素,反向索引print(names[len(names)-2]) #效果如上

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

2.通过for循环遍历

names = ['james', 'michael', 'emma', 'emily']for name in names:    print(name)  for i in range(len(names)):    print(names[i])

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

3.通过while循环遍历

names = ['james', 'michael', 'emma', 'emily']index = 0    #通过while循环来列出所有元素while index < len(names):    print(names[index])    index += 1

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

三.列表的分片

a=['egg', 'fish', 'cake', 'tomato', 'james', 'ava', 'michael', 'emma', 'emily']print(a[1:3]) #按下标0开始,不包括最右边的3print(a[1:]) #1以及之后的全部print(a[:3]) #3之前的但不包括3print(a[:]) #所有print(a[::2])#[start:end:step]start和end为空的时候,默认是全选,step为空时默认是1,这个表示的是从索引为0开始,以步长为2来选择元素print(a[1:3:2])#以索引为1开始,索引3结束,步长为2来选择元素print(a[::-1])#当step为-1时,将列表进行了逆序排序print(a[::-2])#当步长为正数时,是从左到右以该步长来获取列表中的元素,当步长为负数时,是从右边到左以该步长的绝对值来获取的元素print(a[0, 1, 3]) #不可以通过离散的索引值来获取

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

四.列表方法

1.append()列表后面添加元素

food=['egg', 'fish', 'cake', 'tomato']food.append('ice') #在list的末尾添加元素print(food)

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

2.insert()指定位置添加元素

food=['egg', 'fish', 'cake', 'tomato']food.insert(1, 'meat') #在1这个位置添加元素print(food)

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

3.pop()删除元素

food=['egg', 'fish', 'cake', 'tomato']food.pop() #删除list末尾的元素print(food)food.pop(0) #删除索引0的元素print(food)food[0]='egg' #修改索引0的元素为eggprint(food)

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

4.count()返回的是某个元素在列表里面的个数

list1 = [1, 3, 3, 4, 5]print('count:', list1.count(3))#统计3在列表中出现的次数

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

5.extend() 合并列表

list1 = [1, 3, 3, 4, 5]list2 = [6, 5, 8, 9]list1.extend(list2) #在列表1后面添加列表2print(list1)

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

6.index()返回的是元素在列表中的第一个位置

list2 = [1, 2, 4, 5, 7, 4]print('index:', list2.index(4))  # 从列表中找出第一个数值为4的索引位置,不管第二个

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

7.remove()---------- 删除某个元素,如果有重复,删除的是第一次出现的元素,如果元素不存在会报错

list2 = [1, 2, 4, 5, 7, 4]list2.remove(4)#从列表中找出第一个数值为4的值然后删除,不管第二个print('remove:', list2)

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

8.sort()进行排序(从小到大 int类型)可以对字母进行排序(ASCII值)类型不能混

list2 = [1, 2, 4, 5, 7, 4]list2.sort()#对原列表进行排序print('sort;', list2)

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

9.reverse()将列表进行翻转

list2 = [1, 2, 4, 5, 7, 4]list2.reverse()print('reverse;', list2)

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

10.clear() 清除元素

list2 = [1, 2, 4, 5, 7, 4]list2.clear()print(list2)

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

11.copy() 浅拷贝对象 不等价与 =

list1 = [8, 9, 0]list2 = list1.copy()print(list2)

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

五.列表的操作

1.拼接列表

print('列表相加:', [1, 2, 3]+ [4, 5, 6]) #列表的操作符 + 相当于拼接列表print('列表相加:', [1, 2, 3]+['a', 'b'])

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

2.列表相乘

print('列表相乘:', ['a', 'b']*3) #列表相乘

运行结果:

在这里插入图片描述

3.判断

print('判断列表元素是否存在于列表中:', 'a' in ['a', 'b'])print('判断列表元素是否存在于列表中:', 'a' not in['a', 'b'])

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

六.列表中元素的类型的多样性

a_list=['lemon', 100, ['a', 'b', 'c', 'd'], True]#同一个list的类型可以是字符串,整型,布尔型(true和false),以及嵌套的listprint(a_list)print(a_list[0])print(a_list[2])print(a_list[3])

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

b_list=['a', 'b', 'c', 'd']a_list=['lemon', 100, b_list, True]print(a_list)item_b=a_list[2][1]#获取嵌套中列表中的单个元素可以用二维的索引获取,类似于二维数组。[2]表示获取a_list的第三个元素,即b_list,#[1]表示获取b_list的第二个元素,即’b‘print(item_b)

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

七.列表推导式

new_list=[x for x in iterable]其中的iterable表示可迭代的对象,包括字符串(str)、列表(list)、元组(tuple)、字典(dict)、集合(set)生成器(generator)

str_list=[x.lower()for x in 'Lemon']#lower()将大写转为小写print(str_list)

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

list_list=[x**2 for x in [1, 2, 3, 4]]print(list_list)

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

tuple_list=[x+2 for x in (1, 2, 3, 4)]print(tuple_list)

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

ge_list=[x for x in range(8)]print(ge_list)

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

八.列表常用方法总结

1.append()---------列表后面添加元素
2.insert()---------向指定的下标处添加元素
3.pop()---------删除元素
4.count()------返回的是某个元素在列表里面的个数
5.extend() -------合并列表
6.index()--------返回的是元素在列表中的第一个位置
7.remove()---------- 删除某个元素,如果有重复,删除的是第一次出现的元素,如果元素不存在会报错
8.sort()-------进行排序(从小到大 int类型)可以对字母进行排序(ASCII值)类型不能混
9.reverse()-------将列表进行翻转
10.clear() -------清除元素
11.copy()----- 浅拷贝对象 不等价与 =


点击全文阅读


本文链接:http://zhangshiyu.com/post/57483.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1