List的定义:

li = ["one" , "two" , "three" , "four"]

List是一个有序的集合,这点不同于Dictionary(Dictionary是无序的)。

(1)索引和切片

索引有正负之分,正索引下标从0开始,负索引下标从-1开始。比如:

>>> li[0]
'one'
>>> li[3]
'four'
>>> li[-1]
'four'
>>> li[-4]
'one'

通过两个索引得到List的一个子集,我们称之为切片。

>>> li[-1:-4]
[]
>>> li[-4:-1]
['one', 'two', 'three']

我们可以看出:1)区间是左闭右开的;

       2)不管两个索引的正负,只需要保证在List中第一个索引是在第二个索引的左边,得到的子集就不会是空的。

切片的简写,如果缺失第一个索引,那默认是从0开始;如果缺失第二个索引,那默认是直到List的最后一个元素(最后一个元素是算在内的,我们可以认为此时是一个无穷大的值);如果两个索引都缺失,这将包括 list 的所有元素,但是与原始的名为 li 的 List 不同,它是一个新 List,恰好拥有与li一样的全部元素。li[:] 是生成一个 list 完全拷贝的一个简写,就像是copy方法。

向List添加元素:

>>> li.append("five");
>>> li
['one', 'two', 'three', 'four', 'five']
>>> li.insert(3,"six");
>>> li
['one', 'two', 'three', 'six', 'four', 'five']
>>> li.extend(["seven","eight"]);
>>> li
['one', 'two', 'three', 'six', 'four', 'five', 'seven', 'eight']

List中的元素值不一定互不相同,可以有相同的。

>>> li.append(["nine","ten"]);
>>> li
['one', 'two', 'three', 'six', 'four', 'five', 'seven', 'eight', ['nine', 'ten']]

List 的两个方法 extendappend 看起来类似,但实际上完全不同。extend 接受一个参数,这个参数总是一个 List,并且把这个 List 中的每个元素添加到原 List 中。append 接受一个参数,这个参数可以是任何数据类型,并且简单地追加到 List 的尾部。

List的搜索:

>>> "one" in li
True
>>> li.index("one");
0
>>> li.index("two");
1

如果一个值在List中出现多次,那么index返回的是这个值首次出现的下标。

List的删除:

>>> li.remove("one");
>>> li
['two', 'three', 'six', 'four', 'five', 'seven', 'eight', ['nine', 'ten']]
>>> li.pop();
['nine', 'ten']
>>> li
['two', 'three', 'six', 'four', 'five', 'seven', 'eight']

同样,如果一个值多次出现,remove仅仅是删除首次出现的那个。

List的运算符:

>>> li += ["eleven"];
>>> li
['two', 'three', 'six', 'four', 'five', 'seven', 'eight', 'eleven']
>>> li = [1,2]*3;
>>> li
[1, 2, 1, 2, 1, 2]

Python内置数据类型之List篇的更多相关文章

  1. Python内置数据类型之Dictionary篇

    1.查看函数XXX的doc string. Python的函数是有属性的,doc string便是函数的属性.所以查看函数XXX的属性的方法是模块名.XXX.__doc__ 2.模块的属性 每个模块都 ...

  2. Python内置数据类型之Tuple篇

    Tuple 是不可变的 list.一旦创建了一个 tuple,就不可以改变它.这个有点像C++中的const修饰的变量.下面这段话摘自Dive Into Python: Tuple 比 list 操作 ...

  3. Python内置数据类型总结

    python的核心数据类型:(很多语言之提供了数字,字符串,文件数据类型,其他形式的数据类型都以标准库的形式表示 也就是用之前需要import ) ,但是python有很多都是内置的,不需要impor ...

  4. python 内置数据类型之数字

    目录: 1.2. 数字 1.2.1. 数字类型 1.2.2. 浮点数 1.2.3. 进制记数 1.2.4. 设置小数精度 1.2.5. 分数 1.2.6. 除法 1.2 数字   1.2.1 数字类型 ...

  5. python内置数据类型-字典和列表的排序 python BIT sort——dict and list

    python中字典按键或键值排序(我转!)   一.字典排序 在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的.因此,为了使统计得到的结果更方便查看需要进行排序. Py ...

  6. python 内置数据类型之字符串

    1.3 字符串 字符串本身就是一个有序(从左至右)的字符的集合.是序列这种类型的一种,后面还要学习列表与元组. 在这一节中,需要了解字符串的定义,特殊字符,转义与抑制转义:字符串基本操作.格式化等. ...

  7. Python中内置数据类型list,tuple,dict,set的区别和用法

    Python中内置数据类型list,tuple,dict,set的区别和用法 Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, ...

  8. python计算非内置数据类型占用内存

    getsizeof的局限 python非内置数据类型的对象无法用sys.getsizeof()获得真实的大小,例: import networkx as nx import sys G = nx.Gr ...

  9. Python的四个内置数据类型list, tuple, dict, set

    Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List ...

随机推荐

  1. POJ 2823

    Sliding Window Time Limit: 12000MS   Memory Limit: 65536K Total Submissions: 35941   Accepted: 10636 ...

  2. cf div2 237 D

    D. Minesweeper 1D time limit per test 2 seconds memory limit per test 512 megabytes input standard i ...

  3. POJ 2591 1338 2545 2247(数列递归衍生问题,思路挺妙)

    四道题的难度: 2591<1338<2545<2247 POJ 2591 Set Definition: 这是从discuss里看来的,写的挺好,直接copy,根据我的代码稍有改动( ...

  4. POJ 1477

    #include <iostream> #define MAXN 100 using namespace std; int _[MAXN]; int main() { //freopen( ...

  5. 在DECIMAL(m,n)的设置中,整数的位数不能大于(m-n)

    关于DB2的DECIMAL类型 创建表的时用的是DECIMAL(13,2),我认为它为13个整数位数+2为有效数字,因为在打印银行交易的FORM时遇到了难题.输出和建表的长度不一样,我们以为它会打印出 ...

  6. Codeforces Round #337 (Div. 2) B. Vika and Squares 水题

    B. Vika and Squares   Vika has n jars with paints of distinct colors. All the jars are numbered from ...

  7. selenium测试框架篇

    做自动化框架,不可避免的就是对象库. 有一个好的对象库,可以让整个测试体系: 更容易维护 大大增加代码重用 增加测试系统的稳定性 这里先了解一下我所说的对象库: 所谓的页面对象,是指每一个真是的页面是 ...

  8. EasyBCD 硬盘安装Pear OS

    Pear OS是一个界面很像mac的Linux distro,基于Ubuntu,免费.可惜的是pear被一个大公司匿名收购,所以现在不更新啦,最后的版本是pear 8.有个pear的替代者elemen ...

  9. C#网页采集

    /// <summary> /// 返回提取数组 /// </summary> /// <param name="rex">正则</par ...

  10. (.iso)光盘镜像文件的打开与安装

    直接解压就可以打开,然后就可以安装.exe文件