Python 列表与元祖

序列概念介绍:

序列时python中最基础的数据结构,在序列中每个元素都有自己的编号,第一个元素的编号索引为0,第二个为1,以此类推,python中的元祖和列表就是序列,其中的字符串也是序列中的一种

二者的定义区别:

列表的定义如下:list = [], list = [1,2,3,4]

元祖的定义如下:tup = (), tup = (1,2,3,4)

二者之间类似,列表使用[]进行定义,元组使用()进行定义

注意:容器是python支持的一种基本的数据结构,其中两种主要容器结果是序列和映射

两者之间通用的操作(序列操作)

索引:元组和列表都可以通过索引获取序列中的元素,由此也可以了解到元祖也是一种有序的容器结构

list = [1, 2, 3, 4]
tup = (1, 2, 3, 4)
print(list[0])
print(tup[0])
print(list[0:3])
print(tup[0:3])
# 运行结果
1
1

[1, 2, 3]
(1, 2, 3)

切片:切片与索引的作用一致,用于访问容器中的数据,不同之处在于根据索引我们一次只能获取一个元素,使用切片我们能获取容器对象中的一部分元素,切片时我们需要提供两个切片的边界,第一个在序列的编号范围内,第二个可以不在编号的范围内

list = [1, 2, 3, 4]
tup = (1, 2, 3, 4)
# 获取编号为0-3的元素
print(list[0:3])
print(tup[0:3])

# 获取最后两位, 使用负数进行切片
print(list[-3:-1])

步长概念: 在切片中,默认的是三个参数,两个边界值与一个步长值,步长用于每隔多少元素去出一个元素

# 步长,取出2,4,6,8
list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list[1:9:2])

相加:序列的相加与字符串的相加一致,产生一个全新的序列,在列表和元组中的相加法则是列表与列表进行相加,元组与元组进行相加

# 序列与元组之间的相加
list1 = [1, 3, 5, 7, 9]
list2 = [2, 4, 6, 8]
tup1 = ('a', 'b', 'c')
tup2 = ('A', 'B', 'C')

# 序列与序列相加
print(list1 + list2)
# 元组与元组相加
print(tup1 + tup2)


‘’‘元祖与列表之间不能进行相加’‘’

# 序列与元组相加 
# print(list1 + tup1)
# 元组与序列相加
# print(tup2 + list2)

相乘:重复原序列创建一个新的序列

list1 = [1, 3, 5, 7, 9]
listnew = list1 * 2
print(listnew)

# 打印结果
[1, 3, 5, 7, 9, 1, 3, 5, 7, 9]

成员资格检查:成员检查主要用于检测序列中是否含有某个元素,我们使用in运算去判断,返回结果是一个bool值

list1 = [1, 3, 5, 7, 9]
if 1 in list1:
    print("存在")
else:
    print("不存在")

长度、最大值、最小值:python中分别使用len()、max()、min()去求取序列中的最大值,最小值,以及长度

列表的基本操作

  • 创建列表函数list(参数),其参数可以是任意的序列类型数据
  • list1 = [1, 2, 3, 4]
    
    listnew = list(list1)
    
    listStr = list("hello Word")
  • 修改列表,给列表进行赋值,列表的赋值使用序列编号进行赋值和使用切片进行赋值结果如下
  • list1 = [1, 2, 3, 4]
    # 使用编号赋值
    list1[1] = "hello"
    print(list1)
    # 使用切片赋值
    list1[1:2] = "hello"
    print(list1)
    
    list1[1:2] = ["hello"]
    print(list1)
    
    # 打印结果
    [1, 'hello', 3, 4]
    [1, 'h', 'e', 'l', 'l', 'o', 3, 4]
    [1, 'hello', 3, 4]
  • 删除元素,列表删除元素是通过del 列表元素 或者del列表切片进行删除
  • list1 = [1, 2, 3, 4]
    # 删除第一个元素
    del list1[0]
    print(list1)
    
    # 删除切片
    del list1[0:2]
    print(list1)
    
    # 打印结果
    [2, 3, 4]
    [4]
  • 将一个对象附加到列表末尾,与数组一致通过使用append()方法
  • list1 = [1, 2, 3, 4]
    # 末尾增加一个对象
    list1.append("name")
    print(list1)
    # 末尾追加一个元祖
    list1.append(("name", "age", "sex"))
    print(list1)
  • 清除列表中的内容实用clear方法
  • 使用copy方法复制列表
  • 使用count统计元素出现次数
  • list1 = [1, 2, 3, 4, 1, 1, 2, 3]
    print(list1.count(1))
  • extend方法将多个对象添加到列表末尾
  • list1 = [1, 2, 3, 4, 1, 1, 2, 3]
    # 末尾追加一个元祖
    list1.extend(["name", "age"])
    print(list1)

index,返回查找的索引,如果含有重复的数据时返回的时第一个查到到的下

  • list1 = [1, 2, 3, 4, 1, 1, 2, 3]
    print(list1.index("3"))
  • insert将对象插入列表
  • >>> numbers = [1,2,3,4]
    >>> numbers.insert(1,"name")
    >>> print(numbers)
    [1, 'name', 2, 3, 4]
    >>> 
  • pop方法为删除一个元素并返回这个元素值,删除的是末尾元素
  • list1 = [1, 2, 3, 4, 1, 1, 2, 3]
    # 弹出最后一个
    num = list1.pop()
    print(num)
    
    # 弹出编号为3的
    indx = list1.pop(3)
    print(indx)
  • remove用于移除一个指定的对象
  • >>> numbers = [1,2,3,4]
    >>> numbers.insert(1,"name")
    >>> print(numbers)
    [1, 'name', 2, 3, 4]
    >>> numbers.remove("name")
    >>> print(numbers)
    [1, 2, 3, 4]
    >>> 
    
  • reverse按相反的顺序排列列表中的元素, 仅仅用于倒叙输出
  • list1 = [1, 3, 5, 2, 4, 7, 6, 8, 9]
    list1.reverse()
    print(list1)
    
    [9, 8, 6, 7, 4, 2, 5, 3, 1]
  • sort进行排序的方法,sort默认的排序方法时从小到大的排序方法
  • list1 = [1, 3, 5, 2, 4, 7, 6, 8, 9]
    list1.sort()
    print(list1)
    [1, 2, 3, 4, 5, 6, 7, 8, 9]

猜你喜欢

转载自blog.csdn.net/die_word/article/details/81296004