一、函数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. GridView导出成Excel字符"0"丢失/数字丢失的处理方式 收藏

    GridView导出成Excel字符"0"丢失/数字丢失的处理方式 收藏 GridView 导出成Excel文件,这个代码在网上比较多.但是发现存在一个问题,导出的数据中如果有&q ...

  2. MyEclipse jQuery智能 提示

    jQuery智能 MyEclipse Spket IDE 1.6.23 http://www.spket.com/download.html Plugin 1.6.23 5.62 MB Minimum ...

  3. 关于项目报错Dynamic Web Module 3.0 requires Java 1.6 or newer 的解决方法

    起因:今天使用maven创建web项目的时候发现项目上老是有个红X,错误如下图所示,虽然项目能正常运行起来,但是LZ的强迫症发作,不弄掉就觉得心里不舒服,于是上网查了攻略,几经周折最终大功告成,现在就 ...

  4. Pacemaker实现双机热备

    在互联网高速发展的今天,尤其在电子商务的发展,要求服务器能够提供不间断服务.在电子商务中,如果服务器宕机,造成的损失是不可估量的.要保证服务器不间断服务,就需要对服务器实现冗余.在众多的实现服务器冗余 ...

  5. C++11中lock_guard和unique_lock的区别

    c++11中有一个区域锁lock_guard,还有第二个区域锁unique_lock. 区域锁lock_guard使用起来比较简单,除了构造函数外没有其他member function,在整个区域都有 ...

  6. codeforce469DIV2——C. Zebras

    题意 0, 010, 01010 这一类的01交替且开头和结尾都为0的序列被称为zebra序列.给出一段01序列,尝试能否把他分为k个子序列使得每个子序列都是zebra序列. 分析 这个题应该算是水题 ...

  7. c++ list 容器

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

  8. Java文件执行顺序总结

    类执行顺序 一个java文件的执行过程: 编译:加载的类,加载的时候对类中的资源进行编译,首先是静态成员变量,静态方法等,如果有相应操作,就会进行相应的操作, 并且这个Static修饰后的静态成员变量 ...

  9. 多线程编程为什么要sleep

    以前在分析程序的时候就遇到很多sleep,当时很觉得很奇怪?不直到为什么要调用这个sleep,现在明白了,这种情况一般是应用程序有多个线程,那怎么手动切换线程呢?调用sleep即可.

  10. 2、awk的输出

    1.常见的输出格式整理 awk '{print "this is " $1, $2, $1*$2, NR, NF, $NF}' file1   ###字符输出,字段输出,运算输出, ...