锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

Python数据结构之【列表】

时间:2023-02-17 19:30:00 dc24vege流量传感器

Python有列表、元组、集合和字典四种数据结构。


python的列表和java一维数组有点相似,但列表可以存储不同类型的数据包括四种数据结构的元素。

一些常见的列表操作

访问元素

使用索引列表index访问元素,这一点和java数组相似。

  • 访问单个元素时,使用 list[i] 访问元素,i 下标表示访问元素。
  • 访问连续元素时,又称切片,常用 list[start : end : step] 不包括来访end所在的元素,step 表示从末尾开始读负数,list[: : -1] 通常用来表示列表反转。
  • 列表本身在访问元素时不会改变。

添加元素

在修改元素时,列表本身就会修改,包括添加元素、删除元素和修改元素。

列表中添加元素的操作包括append, extend 和Insert,没有返回值,使用时各有不同。具体例子如下:

  • list.append(data) 在列表末尾存放指定的元素
  • a = [1,2,3,4] b = ['a','b'] a.append(b) print(a)  #a','b']]
  • list.extend(iterable)可视为对列表的扩展或拼接,extend之后只能放置可迭代对象,即list,tuple,set,dict 和 string。
  • a = [1,2,3,4] b = ['a','b','c'] a.extend(b) print(a)  #a','b','c']
  • list.insert(index,data) 在某个位置插入数据
  • a = [1,2,3,4] b = ('a',3,'b') a.insert(0,b) print(a)  #[('a',3,'b一、二、三、四]
  • 也可以实现列表中的切片append和extend
  • a = [1,2,3,4]  #append a[len(a):] = 5 print(a)  # [1,2,3,4,5]  #extend a[len(a):] = [6,7,8] print(a)  # [1,2,3,4,5,6,7 

删除元素

删除元素也在列表本身上修改,因此没有返回值,pop()虽然方法有返回值,但返回的是删除元素。

  • list.remove( data ) 按值删除,删除列表中第一次出现的元素,当元素不存在时返回ValueError,因此,在删除元素之前,最好检查元素是否存在。
  • a = [1,2,3,5,3,4] b = a.remove(3) print(a)  # [1,2,5,3,4] print(b)  # None
  • list.pop() 删除列表中最后一个元素 (类似于java中的栈),返回删除的元素。
  • list.pop(index) 按索引删除,删去列表索引index位置的元素也返回删除的元素
  • a = [1,2,3,5,3,4] b = a.pop() print(a)  # [1,2,3,5,3] print(b)  # 4  c = a.pop(1) print(a)  # [1,3,5,3] print(c)  # 2 
  • del list 删除整个列表
  • del list[index] 按索引删除,但没有返回值。del list[index]比pop(index) 它更灵活,可以用来删除索引范围内的元素。同样,右间隔也无法获得。
  • a = [1,2,3,5,3,4] del a[0:3] print(a)  # [5,3,4]

修改元素

列表用索引修改,指定单个下标或索引范围修改。

a = ['water','bottle','apple'] a[1] = 'melon' print(a) # ['water','melon','apple']
  • 修改单个下标:
  • 下标区间进行修改:

    • 当范围大于要修改的元素数量时,在范围内修改相应的元素,多余的部分向前移动后面的元素。

    • a = ['water','bottle','apple','fruit','vege'] a[1:3] = ['melon'] print(a) # ['water', 'melon', 'fruit', 'vege']
    • 当间隔范围小于要插入的元素数时,强行插入。

    • a = ['water','bottle','apple','fruit','vege'] a[1:3] = ['melon','peach','pear'] print(a) # ['water', 'melon', 'peach', 'pear', 'fruit', 'vege']

列表排序

列表排序分为逆序和正序。

  • list.sort(reverse = False) 列表内置函数,直接修改列表,默认从小到大排列。
  • sorted(literable) 回到一个排序列表,所有迭代器都可以排序。迭代器本身保持不变。

反转列表

  • list [ : :-1]
  • list.reverse() 直接修改列表
  • reversed(literable) 返回迭代器

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章