当前位置:   article > 正文

Python中列表的基本操作

Python中列表的基本操作

列表通常用来存储多个数据,每一个数据之间用逗号隔开,列表中的数据被称为元素,列表的左右两边带有中括号。

1、定义列表

定义列表时初始元素可以为空,也可以定义一个有初始值的列表,列表可以存储不同的数据类型。

# 定义一个空列表
list1 = []
# 定义一个有初始值的列表 
list2 = [1, 2, 4, 3]  
# 列表可以存储不同的数据类型
list3 = [1, 2, 4, "hello"]  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2、访问列表

列表可以直接用print函数输出,也可以使用下标获取列表元素的值,也可以通过元素获取元素的下标。len()函数可获取列表长度。

list2 = [1, 2, 4, "hello"]  
print(list2)
print(list2[3])  # 通过下表获取元素值
print(list2.index("hello"))  # 通过元素或下标
print(len(list2))  # 输出list长度
  • 1
  • 2
  • 3
  • 4
  • 5

输出结果为:
在这里插入图片描述

3、增删改操作

(1)新增元素
可以使用append()函数在list末尾加入新的元素;可以使用insert()函数在某个位置插入新的元素,下标从0开始。

list2 = [1, 2, 4, "hello"]  

list2.append(5)  # 在list末尾加入新的元素5
print(list2)  # 输出结果是[1, 2, 4, 'hello', 5]

list2.insert(2, 0.6)  # 在第二个和第三个元素中间插入新的元素0.6
print(list2)  # 输出结果是[1, 2, 0.6, 4, 'hello', 5]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

输出结果是:
在这里插入图片描述

(2)删除操作
可以使用remove()函数删除某个元素,有重复元素默认删除第一个;也可以使用__delitem__()函数通过下标删除某个元素;也可以通过del使用下表删除某个元素。

list2=[1, 2, 0.6, 4, 'hello', 5]

list2.remove("hello")  # 删除元素"hello"
print(list2)  # 输出结果是[1, 2, 0.6, 4, 5]

list2.__delitem__(1)  # 删除元素2
print(list2)  # 输出结果是[1, 0.6, 4, 5]

del list2[3]  # 删除list最后一个元素
print(list2)  # 输出结果是[1, 0.6, 4]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

输出结果是:
在这里插入图片描述

(3)修改操作
可以通过下标直接修改某个元素。

list2=[1, 0.6, 4]
list2[0] = 9  # 通过下标直接修改
print(list2)  # 输出结果是[9, 0.6, 4]
  • 1
  • 2
  • 3

输出结果是:
在这里插入图片描述

4、合并列表

list相加得到的是一个新的list。

l1 = [3, 45, 6]
l2 = [5, 6]
print(l1 + l2)  # 输出结果是[3, 45, 6, 5, 6]
  • 1
  • 2
  • 3

输出结果是:
在这里插入图片描述

5、列表切片

可以通过切片的方式对列表进行截取、反转等操作。一些切片的特殊操作如下所示。

list[-1]:返回最后一个数据
list[:1]:返回01的数据,故返回第一个数据
list[1:]:返回从10的数据,故返回第二个到最后一个的数据(不包含结束索引位置0list[-1:]:返回从-10的数据,故返回最后一个数据
list[:-1]:返回从0-1的数据,故返回第一个到倒数第二个的数据(不包含结束索引位置-1list[::1]:表示步长为1,步长大于0时,返回序列为原顺序
list[::-1]: 表示从右往左以步长为1进行切片,返回序列为倒序
list[::2]: 表示从左往右步长为2进行切片
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

(1)截取

l3 = [3, 45, 6, 5, 6]
print(l3[1:3])  # 从下标[1,3)开始截取,左闭右开,输出结果是[45, 6]
print(l3[2:])  # 截取下标2到末尾的元素,输出结果是[6, 5, 6]
print(l3[:2])  # 截取list前两个元素,输出结果是[3, 45]
print(l3[-2:])  # 截取list末尾两个元素,输出结果是[5, 6]
  • 1
  • 2
  • 3
  • 4
  • 5

输出结果是:
在这里插入图片描述
(2)反转

l3 = [3, 45, 6, 5, 6]
print(l3[::-1])  # 输出结果是[6, 5, 6, 45, 3]

# 字符串可以看作是一个特殊的列表
l4 = "abcfgdjskls"
print(l4[1])  # 输出结果是b
print(l4[::-1])  # 输出结果是slksjdgfcba
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

输出结果为:
在这里插入图片描述

6、遍历列表

可以通过元素值遍历,也可以通过元素下标遍历。

# 成员遍历,只适合读取元素的值
for h in l3:
    print(h)
    
# 下标遍历
for i in range(len(l3)):
    print(l3[i])  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

通过下标遍历,可以改变元素的值

l4 = [3, 4, 6, 5, 9]
for i in range(len(l4)):
    l4[i] += 1
    print(l4)  # 最后输出的是[4, 5, 7, 6, 10]
  • 1
  • 2
  • 3
  • 4

输出结果:
在这里插入图片描述

7、列表转换

列表转为tuple或set可直接通过对应函数转化。

l6 = [4, 4, 4, 6, 10, 4, 5, 7, 12]
print(list(l6)) # 依旧是列表
print(tuple(l6))  # 转为元组
print(set(l6))  # 通过set函数可以去重
  • 1
  • 2
  • 3
  • 4

输出结果为:
在这里插入图片描述
list也可以转为字符串,字符串类型的list可以直接通过join方法转换,其他类型需要先转为字符串

l6 = [4, 4, 4, 6, 10, 4, 5, 7, 12]
str6 = "".join(str(l6))
print(str6)
print("str6的类型:", type(str6))
l7 = ["123", "wef", "ok"]
str7 = ",".join(l7)
print(str7)
print("str7的类型:", type(str7))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

输出结果为:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/535221
推荐阅读
相关标签
  

闽ICP备14008679号