列表定义

  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. 关于windows10 CMD 的一些操作

    之前接触过cmd的一些操作方法,比如用dir.tasklist等一些方法,但是用了会立马忘记,再用到时又要重新google,这着实让我头痛!!! 今天又碰到一个关于改变目录的问题,又是纠结万分,所以就 ...

  2. EMQ学习 ---集群

    emqttd集群设置管理 一.先来看EMQ的文档定义:http://emqtt.com/docs/v1/cluster.html emqttd集群设置管理 假设部署两台服务器s1.emqtt.io, ...

  3. C# XMLOperate

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.X ...

  4. 支付宝钱包手势密码破解实战(root过的手机可直接绕过手势密码)

    /* 本文章由 莫灰灰 编写,转载请注明出处. 作者:莫灰灰    邮箱: minzhenfei@163.com */ 背景 随着移动互联网的普及以及手机屏幕越做越大等特点,在移动设备上购物.消费已是 ...

  5. springboot 异步任务

    Spring Boot 揭秘与实战(七) 实用技术篇 - 异步任务拓展阅读: http://www.jianshu.com/p/86e915d616c4 发表于 2017-01-06 | Spring ...

  6. unity, standard shader消耗两个draw call

    假设场景中只放一个球,关掉阴影和skybox,球体使用Unlit/Texture shader,则draw call数为2(背景占一个draw call,球占一个draw call). 相同情况下若将 ...

  7. Atitit.注重细节还是关注长远??长远优先

    Atitit.注重细节还是关注长远??长远优先 1. 注重细节的误区 1 1.1. 如果连aaa都做不好,那么怎么能够相信你ccc 2 1.2. 一屋不扫何以扫天下??但是扫大街的都是保洁员 2 2. ...

  8. 2014 Multi-University Training Contest 1/HDU4864_Task(贪心)

    解题报告 题意,有n个机器.m个任务. 每一个机器至多能完毕一个任务.对于每一个机器,有一个最大执行时间Ti和等级Li,对于每一个任务,也有一个执行时间Tj和等级Lj.仅仅有当Ti>=Tj且Li ...

  9. jq使用自定义属性实现有title的tab切换

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

  10. 使用nio实现web服务器

    package com.nio; import java.io.IOException; import java.net.InetAddress; import java.net.InetSocket ...