一、函数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. python学习——练习题(4)

    """ 题目:输入某年某月某日,判断这一天是这一年的第几天? """ import datetime import time from fu ...

  2. Jsp页面中的中文乱码问题解决

    Jsp页面中的中文乱码问题解决 在编写Jsp页面的时候,发现写入其中的中文在浏览器浏览的时候会出现乱码的情况. 出现乱码的原因分析: 因为页面中对自己的编码格式的声明和页面的实际编码格式不相同,而浏览 ...

  3. 【原创】9. MYSQL++中的Field、FieldNames以及FieldTypes类型

    mysqlpp::Field其实使用的并不多,主要在于Result.h中ResultBase以及他的派生类型(UseQueryResult和StoreQueryResult)的几个获取下一个field ...

  4. day18-事务与连接池 1.复习

    实际开发中事务必须得用.

  5. Win10 pip安装pycocotools报错解决方法(cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”)

    参考: https://blog.csdn.net/chixia1785/article/details/80040172 https://blog.csdn.net/gxiaoyaya/articl ...

  6. Python3.7安装PyQt5的方法

    一.系统环境 操作系统:Win7 64位 Python Version:3.7 二.安装参考 方法1:pip install PyQt5 方法2:下载whl安装包安装 a.下载网址:https://p ...

  7. ubunt 14.04 Could not find CMAKE_ROOT !!! CMake has most likely not been installed correctly. Modul

    CMake Error: Could not find CMAKE_ROOT !!! CMake has most likely not been installed correctly. Modul ...

  8. Solidity智能合约升级解决方案

    https://blog.zeppelin.solutions/proxy-libraries-in-solidity-79fbe4b970fd

  9. bootstrap三列布局

    <!DOCTYPE html><html lang="zh-cn"><head><meta charset="utf-8&quo ...

  10. docker入门及安装

    Docker简介 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).ba ...