• 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']

  • 相关阅读:
    AQS笔记二 ---- 使用AQS自定义锁
    AQS笔记一 --- 源码分析
    ElasticSearch(二十一)正排和倒排索引
    ElasticSearch(二十)定位不合法的搜索及其原因
    ElasticSearch(十八)初识分词器
    ElasticSearch(十七)初识倒排索引
    还在用 kill -9 停机?这才是最优雅的姿势(转)
    一文快速搞懂MySQL InnoDB事务ACID实现原理(转)
    你真的理解零拷贝了吗?(转)
    关于分布式事务的读书笔记
  • 原文地址:https://www.cnblogs.com/qiyuanqiang/p/10610679.html
Copyright © 2020-2023  润新知