python:数组,列表,元组的区别、定义、功能

254 阅读2分钟

前言

准确的来说,在python中是没有数组类型的,
python中取而代之的是列表list()和元组tuple()。
列表比元组好用,因为元组一旦定义就没法修改。
而列表不仅可以和数组一样按索引访问,还有一堆的功能。

1/列表

<1>/添加元素

   1)append()
      a.append(i),默认是添加在尾部,
      i可以是单个元素,也可以是列表,如果是列表,则把整个列表添加到列表中。
      也就是说,append()会保持添加的元素的原状。
      a = ["china","1","2","3","4","5"]
      a.append("6")
      a = ["china","1","2","3","4","5","6"]

      a.append(["11","22","33"])
      a = ["china","1","2","3","4","5","6",["11","22","33"]]
  
  2)extend(b) 
      如果b是一个列表,则把列表中的所有元素添加到a的末尾
      a = ["china","1","2","3","4","5"]
      a.extend(["10","11","12"])
      a = ["china","1","2","3","4","5","10","11","12"]
          

<2>插入元素

  a.insert(i,elem)
  可以添加在任意位置,其中i表示索引位置,elem既可以是单个元素.
  也可以是列表,如果是列表,则把列表插入到列表中。
  保持插入元素的原状,这一点和append()一样。
  
  a = ["china","1","2","3","4","5"]
  a.insert(1,"love")
  a = ["china","love","1","2","3","4","5"]

  a.insert(0,["aaa","bbb"])
  a =  [["aaa","bbb"],"china","love","1","2","3","4","5"]

<3>删除元素

     <1> 删除指定位置的元素 del a[index] index是元素的下标
         a = ["china","1","2","3","4","5"]
         del a[0]
         a = ["1","2","3","4","5"]
         
     <2> 删除列表中的元素, a.remove(elem_name)
          a = ["china","1","2","3","4","5"]
          a.remove("china")
          a = ["1","2","3","4","5"]
          
     <3> 默认删除列表尾部的1个元素,a.pop()
          a = ["china","1","2","3","4","5"]
          a.pop()
          a = ["china","1","2","3","4"]
          

<4>统计元素出现的次数

  a.count(elem_name)
  a = ["china","1","1","2","3","4","5"]
  a.count("a")
  2
         
         

<5>排序

list.sort(key=None,reverse=False),
其中key只在元素为字符串时才有用,表示按照关键字(如字符串长度)进行排序
 <1>按照从小到大排序(默认从小到大排序):
    a.sort()  # 如果是字符串,则按照ASCII码的大小从小到大排序

 <2>按照从大到小排序
     a.sort(reverse=True)

 <3>按照字符串的长度进行从大到小排序
    a.sort(key=len,reverse=True)

<6>翻转

 a.reverse()
 a = ["11","22","33","44"]
 a.reverse()
 a = ["4","3","2","1"]
    

<7>返回列表长度

 len(a)
     

<8>获取元素下标

 a.index(elem_name)
 

2/元组

 元组只有2种操作方式
 <1> a.count(elem_name)
 <2> a.index(elem_name)

3/总结

 <1>列表和元组相比,可直接调用的函数更多也可以进行更改,但是元组一经定义就无法更改,所以首推列表。
 <2>如果非要使用数组,咱们python也有,用python中的numpy库可以实现对数组的定义: