一、函数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. Java两种延时——thread和timer

    在Java中有时候需要使程序暂停一点时间,称为延时.普通延时用Thread.sleep(int)方法,这很简单.它将当前线程挂起指定的毫秒数.如 try { Thread.currentThread( ...

  2. Python基础学习七 Excel操作

    python操作excel,python操作excel使用xlrd.xlwt和xlutils模块, xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的. ...

  3. 一次 Mysql 字符集的报错,最后让我万马奔腾!!!

    wuba---深圳---龙岗周边----3000元--------- wuba---深圳---龙岗周边----5000元--------- wuba---深圳---龙岗周边----8000元----- ...

  4. 【bzoj2460】[BeiJing2011]元素

    2460: [BeiJing2011]元素 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 692  Solved: 372[Submit][Statu ...

  5. C# 把一个文件夹下所有文件复制到另一个文件夹下 把一个文件夹下所有文件删除(转)

    C# 把一个文件夹下所有文件复制到另一个文件夹下   public static void CopyDirectory(string srcPath, string destPath) { try { ...

  6. ECShop研究:去掉标题中的Powered by ECShop和meta的<meta name="Generator" content="ECSHOP v2.7.3" />

    本文以ECSHOP v2.7.3为说明,其他版本可能有所不同. 标题中的Powered by ECShop去除方法: 打开includes/lib_main.php文件: 找到156行:$page_t ...

  7. Linux查看内存,负载状态

    Linux查看内存,负载状态 查看内存使用情况  www.ahlinux.com cat /proc/meminfo MemTotal:       16332644 kB MemFree:     ...

  8. EZOJ #202

    传送门 分析 我们知道选一个点的代价就是他所有出边边权的异或和 由于一条边如果两个端点均选边权会异或两次变回0,所以不必担心重复的情况 于是直接跑线性基即可 代码 #include<bits/s ...

  9. jqgrid控件列分组

    <%-- builed by manage.aspx.cmt [ver:2014.48.11] at 2014/10/11 16:48:33 --%> <%@ Page Langua ...

  10. Entity Framework 6.0 Tutorials(2):Async query and Save

    Async query and Save: You can take advantage of asynchronous execution of .Net 4.5 with Entity Frame ...