Python数组(二)

一、函数list 

  可将任何序列(如字符串)作为list的参数。list实际上是一个类,而不是函数。

  test=['java','C#','C','C++']

  print(list(test))   ——>['java','C#','C','C++']

  print(list('java'))  ——>['j','a','v','a']

  提示:要将字符列表转为字符串,可使用  ''.join(somelist)

二、基本的列表操作

  可以对数组执行所有的标准序列操作,如索引、切片、拼接、相加和相乘

  2.1、修改:给元素赋值

    使用索引表示法给特定位置的元素赋值,如 test[0] = 'java'

  2.2、删除

    使用 del 语句删除元素。

    test=['java','C#','C++']

    del test[0]

    print(test)    ——>['C#','C++']

  2.3、给切片赋值 

    使用切片赋值,可以同时给多个元素赋值,并且可将切片替换为长度与其不同的序列。

     test=  ['java','c++','C','C#','python']

     test[0:1] = ['java','js']

     print(test)  ——> ['java','js','c++','C','C#','python']

    使用切片赋值还可以在不替换原有元素的情况下 插入 新元素。

     test=  ['java','c++','C','C#','python']

     test[1:1] = ['js']

     print(test)  ——> ['java','js','c++','C','C#','python']

    还可以进行 删除 元素。

     test=  ['java','c++','C','C#','python']

     test[1:4] = []

     print(test)  ——> ['java','python']

三、数组方法

  3.1、append

    方法append用于将一个对象附加到列表末尾。append方法不会返回修改后的新列表,而是直接修改旧列表。

      test= ['java','c++','C','C#','python']

      test.append('js')

      print(test)  ——> ['java','c++','C','C#','python','js']

  3.2、clear

    方法clear就地清空列表内容。如:

      test= ['java','c++','C','C#','python']

      test.clear()

      print(test)       ——>[]

      类似与切片赋值语句test[:] = []

  3.3、copy

    方法copy赋值数组。(类似与java的深拷贝)

  3.4、count  

    方法count计算指定的元素在列表中出现的次数。

      test= ['java','c++','C','C#','python','java']

      print(test.count('java'))  ——> 2

  3.5、extend

    方法extends能够将多个值附加到列表末尾。主要用于使用一个列表来扩展另一个列表。

      test1= ['java']

      test2= ['js']

      print(test1.extend(test2))  ——> ['java','js']

  3.6、index

     方法index在数组中查找指定值 第一次出现的索引。如:

      test = ['java12','c++','C#','python']

       print(test.index('C#'))    ——>2

 

   3.7、insert   

     方法insert用于将一个对象插入列表。如str1.insert(0,'js')

     第一个参数表示插入后该元素的索引。

  3.8、pop 

    方法pop从列表中删除一个元素(默认为最后一个元素),并返回这一元素。

      test= ['java','c++','C','C#','python']

      print(test.pop())  ——> python

      print(test.pop(0))  ——> java

      print(test)  ——> ['c++','C','C#']

  3.9、remove

    方法remove用于删除第一个为指定值得元素。

    remove删除列表中不存在的元素会报错,所有一般要先用 x in somelist 进行判断验证后在使用remove方法

  3.10、reverse

    方法reverse按相反的顺序排列列表中的元素。如:

      test=['java','C#','C++']

      test.reverse()

      print(test)        ——>['C++','C#','java']

  3.11、sort

    方法sort用于对列表就地排序。

      test= [4,2,3,1]

      print(test.sort())  ——> [1,2,3,4]

    函数sorted对列表进行排序,返回排序后的数组

      test1= [4,2,3,1]

      test2= sorted(test1)

      print(test2)  ——> [1,2,3,4]

  3.12、高级排序

    方法sort和sorted接受两个可选参数:key和reverse,这两个参数通常是按名称指定的,称为关键字参数。参数key类似于参数cmp:你将其设置为一个用于排序的函数。然而,不会直接使用这个函数来判断一个元素是否比另一个函数小,而是使用它来为每个元素创建一个键,再根据这些键对元素进行排序。

    比如,要根据长度对元素进行排序,可将参数key设置为函数len。

      test= ['java','c++','js']

      test.sort(key = len)

      print(test)  ——> ['js','c++','java']

    对于另一个关键字参数reverse,只需将其指定为一个真值(True和False),以指出是否要按相反的顺序对列表进行排序。

      test2= ['java','c++','js']

      test2.sort(reverse = True)

      print(test2)  ——> ['js','c++','java']

 

posted @ 2019-03-27 22:27  柒哥哥  阅读(106)  评论(0编辑  收藏  举报