一、函数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']

Python数组(二)的更多相关文章

  1. 初学Python(二)——数组

    初学Python(二)——数组 初学Python,主要整理一些学习到的知识点,这次是数组. # -*- coding:utf-8 -*- list = [2.0,3.0,4.0] #计算list长度 ...

  2. Python数组操作将一维数组变成二维数组

    一.问题 我们在进行数组操作的时候会遇到将一个低维的数组变成一个高维的素数组 二.解决 第一种方法基本思路就是将低维数组进行等长的循环,在第一次为零的情况下,需要添加一个[]数组,原因是将它的基本框架 ...

  3. python数组的使用

    python数组的使用 2010-07-28 17:17 1.Python的数组分三种类型:(1) list 普通的链表,初始化后可以通过特定方法动态增加元素.定义方式:arr = [元素] (2) ...

  4. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  5. python数组和矩阵使用总结

    python数组和矩阵使用总结 1.数组和矩阵常见用法 Python使用NumPy包完成了对N-维数组的快速便捷操作.使用这个包,需要导入numpy. SciPy包以NumPy包为基础,大大的扩展了n ...

  6. python数组(列表、元组及字典)

    python数组的使用 2010-07-28 17:17 1.Python的数组分三种类型: (1) list 普通的链表,初始化后可以通过特定方法动态增加元素. 定义方式:arr = [元素] (2 ...

  7. Python数组使用

    python数组的使用 2010-07-28 17:17 1.Python的数组分三种类型: (1) list 普通的链表,初始化后可以通过特定方法动态增加元素. 定义方式:arr = [元素] (2 ...

  8. Python数组列表(List)

    Python数组列表 数组是一种有序的集合,可以随时添加和删除其中的元素. 一.数组定义: 数组是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现. 数组的数据项不需要具有相同的类 ...

  9. python语言(二)列表、字典、集合、文件读写、关系测试

    1.列表 list   代码 s = '王宇建,苏红,邹存才...' # 列表 数字 list l = ['王宇建','苏红','邹存才'] # 一维数组 二维数组 三维数组 # 0 1 2 # 索引 ...

随机推荐

  1. 改变函数中的 this 指向——神奇的call,apply和bind及其应用

    在JavaScript 中,call.apply 和 bind 是 Function 对象自带的三个方法,这三个方法的主要作用是改变函数中的 this 指向,从而可以达到`接花移木`的效果.本文将对这 ...

  2. java StirngStringbufferStringbuild的区别

    java StirngStringbufferStringbuild的区别  String 1,Stirng是对象不是基本数据类型 2,String是final类,不能被继承.是不可变对象,一旦创建, ...

  3. 更新solrcloud+zookeeper的配置文件,要reload collection

    1.用的lib下的solr-core-4.3.1jar中的ZkCLI工具,命令在solr(web发布的)同级目录下运行. (1)upconfig 更新配置文件命令 java -classpath ./ ...

  4. linux 压力测试工具 webbench

    webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 1. wget htt ...

  5. c++ list 容器

    List vector在STL中是一个双向链表,它的内部结构和vector 或 deque截然不同.主要有以下几点: 1.List不支持随机存取.list没有提供下标操作符和at()的访问. 2.任何 ...

  6. 【转】LVS负载均衡之session解决方案 持久连接

    原文地址:http://minux.blog.51cto.com/8994862/1744761 1. 持久连接是什么? 1.1 在LVS中,持久连接是为了用来保证当来自同一个用户的请求时能够定位到同 ...

  7. C#实现访问网络共享文件夹

    C#实现访问网络共享文件夹,使用 WNetAddConnection2A 和 WNetCancelConnection2A. 在目标服务器建立共享文件夹,建立访问账号test; public enum ...

  8. CentOS7虚拟机安装Linux教程及安装后所遇到的问题

    1.VMware Workstation15下载. 官方链接:http://download3.vmware.com/software/wkst/file/VMware-workstation-ful ...

  9. [存储过程]中的事务(rollback)回滚

    在编写SQL Server 事务相关的存储过程代码时,经常看到下面这样的写法: begin tran update statement 1 ... update statement 2 ... del ...

  10. Controlling Session Behavior in Asp.Net MVC4

    Posted By : Shailendra Chauhan, 06 Jan 2013 Updated On : 11 Jun 2014 By default, Asp.Net MVC support ...