列表定义

  Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

>>> a=['Free','']
>>> type(a)
<type 'list'>
>>> bool(a) #列表有值,则为true
True
>>> print a
['Free', '']
>>>

List中也可以是另一个List

>>> matrix = [[1,2,3],[4,5,6],[7,8,9]]
>>> matrix = [[1,2,3],[4,5,6],[7,8,9]]
>>> matrix[0][1]
2
>>> mult = [[1,2,3],['a','b','c'],'d','e']
>>> mult
[[1, 2, 3], ['a', 'b', 'c'], 'd', 'e']
>>> mult[1][1]
'b'
>>> mult[2]
'

索引和切片

>>> a=['Hello','World','']
>>> a[1]
'World'
>>> a[1:2]
['World']
>>> a[-2:-1]
['World']

list函数

>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

appand 在List末尾追加元素

>>> fruits=['orange','apple','banana']
>>> fruits.append('matermelon')
>>> fruits
['orange', 'apple', 'banana', 'matermelon']

insert

list.insert(i, x) 中的 i 是将元素 x 插入到 list 中的位置,即将 x 插入到索引值是 i 的元素前面。注意,索引是从 0

>>> l=['a','b','c','d']
>>> l.insert(1,'#')
>>> l
['a', '#', 'b', 'c', 'd']

extend 合并两个List

>>> a=[1,2,3]
>>> b=[4,5]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5]

extend 的对象是一个 list,如果是 str,则 Python 会先把它按照字符为单位转化为 list 再追加到已知 list

>>> la = [1,2,3]
>>> b = "abc"
>>> la.extend(b)
>>> la
[1, 2, 3, 'a', 'b', 'c']
>>> c = 5
>>> la.extend(c)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable

pop 删除List中的元素

要删除list末尾的元素,用pop()方法:

>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']

要删除指定位置的元素,用pop(i)方法,其中i是索引位置:

>>> lst=['a','b','a','c']
>>> lst.pop(0)
'a'
>>> lst
['b', 'a', 'c']

reverse  将List反转

方法1[::-1]

>>> a=[1,2,3]
>>> a[::-1]
[3, 2, 1]
>>> a="python"
>>> a[::-1]
'nohtyp'
>>>

方法2:list(reversed(list))

>>> a=[1,2,3]
>>> list(reversed(a))
[3, 2, 1]

方法3:reverse

>>> a=[1,2,3]
>>> a.reverse()
>>> a
[3, 2, 1]

count  统计某一个元素在list中出现的次数,如果没有则返回0

>>> c=[a,b,c,a,a]
>>> c.count(a)
3
>>> c.count('f')
0

index 返回索引

>>> c=[a,b,c,a,a]
>>> c.index(a) #第一次出现的位置
0

如果i大于索引的最大值,那么就变成追加了

>>> a = [1,2,3]
>>> a.insert(9,777)
>>> a
[1, 2, 3, 777]

remove 移除掉第一次匹配的元素

>>> lst=['a','b','a','c']
>>> lst.remove('a')
>>> lst
['b', 'a', 'c']

sort

默认情况,实现的是从小到大的排序。

>>> lst=[4,5,7,1,9]
>>> lst.sort()
>>> lst
[1, 4, 5, 7, 9]

从大到小

>>> lst=[4,5,7,1,9]
>>> lst.sort(reverse=True)
>>> lst
[9, 7, 5, 4, 1]

按照关键字排序

>>> lst = ["Python","java","c","pascal","basic"]
>>> lst.sort(key=len)
>>> lst
['c', 'java', 'basic', 'Python', 'pascal']

sorted

>>> lst=[4,5,7,1,9]
>>> a=sorted(lst,reverse=True)
>>> a
[9, 7, 5, 4, 1]
>>> lst
[4, 5, 7, 1, 9]

Python学习笔记4—列表List的更多相关文章

  1. python学习笔记整理——列表

    Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...

  2. python学习笔记-列表和字典

    由于最近在看深度学习的代码,看到需要建立字典和列表来存储什么东西的时候,就想要去把字典和列表好好的了解清楚,其应用范围,差别,等等东西 首先我们来介绍,在python中存在如下的数据结构:列表list ...

  3. python学习笔记(列表、元组、购物车实例)

    一.列表 列表和字典是最常用的两种数据类型 1. 需求:怎么存放班级80多人的姓名,如何实现? names = ["Zhangyang","Guyun",&qu ...

  4. Python学习笔记4—列表

    列表定义 >>> a=['] >>> type(a) <type 'list'> >>> bool(a) #列表有值,则为true T ...

  5. python学习笔记之列表与元组

    一.概述 python包含6种内建的序列,其中列表和元组是最常用的两种类型.列表和元组的主要区别在于,列表可以修改,元组则不能修改 使用上,如果要根据要求来添加元素,应当使用列表:而由于要求序列不可修 ...

  6. Python学习笔记(1)-列表

    列表是什么? 列表由一系列按特定顺序排列的元素组成.列表看起来像这样:[1,2,3,4,1].在列表中,可以由零个或多个元素组成,元素之间用逗号分开,具有相同值元素允许出现多次 使用[ ]或list( ...

  7. Python学习笔记_week2_列表、元组、字典、字符串、文件、i编码

    一. 列表.元组 names=["A","B","C","D"] print(names) print(names[0] ...

  8. python学习笔记(2)--列表、元组、字符串、字典、集合、文件、字符编码

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表和元组的操作 列表是我们以后最长用的数据类型之一,通过列表可以最方便的对数据实现最方便的存储.修改等操作 定 ...

  9. python学习笔记(三)-列表&字典

    列表: 一.列表操作"""Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.比如,列出班里所有同学的名字,就可以用一 ...

随机推荐

  1. VS2010 DLL库生成和使用

    一.生成dll文件(VS2010 Win32 程序) CreateDll.h // 下列 ifdef 块是创建使从 DLL 导出更简单的// 宏的标准方法.此 DLL 中的所有文件都是用命令行上定义的 ...

  2. C++模板类内友元(友元函数,友元类)声明的三种情况

    根据<C++ Primer>第三版16.4节的叙述,C++类模板友元分为以下几种情况 1.非模板友元类或友元函数. 书上给了一个例子: class Foo{     void bar(); ...

  3. unity, 内置shader下载地址

    在unity的download页面上能找到Built in shaders的下载连接.

  4. Struts2源码阅读(一)_Struts2框架流程概述

    1. Struts2架构图  当外部的httpservletrequest到来时 ,初始到了servlet容器(所以虽然Servlet和Action是解耦合的,但是Action依旧能够通过httpse ...

  5. WebSocket请求过程分析及实现Web聊天室

    WebSocket协议是基于TCP的一种新的协议.WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符.它实现了浏览器与服务器全双工(full-duplex ...

  6. 拿与不拿的dfs

    在n个物品中拿k个,使得花费恰好为m. 典型的dfs,对每一个物品,可以选择拿与不拿,然后在判断下一个物品. 失败的dfs: 代码没有保存,只重写一下dfs函数的关键部分: ;i<n;i++) ...

  7. 记一次log4j日志导致线上OOM问题案例

    最近一个服务突然出现 OutOfMemoryError,两台服务因为这个原因挂掉了,一直在full gc.还因为这个问题我们小组吃了一个线上故障.很是纳闷,一直运行的好好的,怎么突然就不行了呢... ...

  8. Centos7+PHP5.6+MySQL5.7+Zabbix4.0部署

    Centos7+PHP5.6+MySQL5.7+Zabbix4.0部署 系统版本:CentOS Linux release 7.4.1708 (Core) 最小化安装 内核版本:3.10.0-693. ...

  9. OpenCV使用标定图

    本文由 @lonelyrains 出品,转载请注明出处.  文章链接: http://blog.csdn.net/lonelyrains/article/details/46915705 上一步生成标 ...

  10. Hadoop中MapReduce计算框架以及HDFS可以干点啥

    我准备学习用hadoop来实现下面的过程: 词频统计 存储海量的视频数据 倒排索引 数据去重 数据排序 聚类分析 ============= 先写这么多