python 列表索引越界怎么处理_Python基础学习之列表的介绍

2、列表简介

Python内置的一种数据类型是列表:list。

list是一种有序的集合。

列表由一系列按特定顺序排列的元素组合。用 [ ] 来表示。

list里面的元素的数据类型也可以不同,比如:>>> L = ['Apple', 123, True]

2.1索引列表

从0开始而不是1。当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界。

如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素。

2.2修改、添加和删除列表元素

2.2.1添加元素

添加用append()

2.2.2插入元素

插入insert()指定新元素的索引和值。>>> classmates.insert(1, 'Jack')

>>> classmates

['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

2.2.3删除元素

1.1. 删除 del 要知道索引位置 del ABC[0]

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

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

1.4. 使用方法pop()删除元素(弹出),可以接着使用删除值。

1.5. 根据值删除元素 remove()

2.2.4修改元素

要把某个元素替换成别的元素,可以直接赋值给对应的索引位置。classmates[1] = 'Sarah'

2.3组织列表

方法sort() 对列表进行永久性排序,首字母排序。

函数sorted() 对列表进行临时排序。

倒着打印列表 reverse()。

确定列表长度 len()。

2.3.1列表中含有另一个列表

list元素也可以是另一个list,比如:>>> s = ['python', 'java', ['asp', 'php'], 'scheme']

>>> len(s)

4

要拿到'php'可以写p[1]或者s[2][1],因此s可以看成是一个二维数组。

3.操作列表

3.1遍历整个列表

使用for循环

for a in A:不要漏了冒号

print()注意缩进

print()循环结束后总结

3.2创建数值列表

1.函数range(),range(1,5)只能打印4个数字不能打印5

2.使用函数list()把range()转换为列表list(range(1,5))

3. ** 2个心号表示平方

4.对数字列表执行简单的统计计算min()最小值 ; max()最大值 ; sum()总和

5.列表解析 将for 循环和创建新元素的代码合并成一行,并自动附加新元素:

[value**2 for value in range(1,11)]

3.3使用列表的一部分

3.3.1切片

对经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,简化操作。

1. [ : ]切片的起始从0开始,[:4]表示0到3,[-3:]表示倒数3个

2. [2 : ]表示从第3个到末尾

3. 甚至什么都不写,只写[ : ]就可以原样复制一个list。

4. [ : :步长];[ : : -1]把字符倒过来

5.字符串'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串。

6. 回数:str(n) == str(n)[ : :-1]

3.4元组

另一种有序列表叫元组:tuple。

tuple和list非常类似,但是tuple一旦初始化就不能修改,Python把不能修改的值称为不可变的,不可变的列表被称为元组。因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

3.4.1定义元组

1. 在( )中添加元素,用逗号隔开,访问和列表一样。但不能修改值。但可以赋值。数字可以直接(1,2,3,4),字符需要加引号(‘a’, ’b’, ’c’)

2.Python在显示只有1个元素的tuple时,也会加一个逗号,以免你误解成数学计算意义上的括号。

t = (1,)

3. tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!所有要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

3.5设置代码格式

1. PEP8

2.缩进格式,4个空格

3.行长不超过79个字符

4.使用空行组织结构

你可能感兴趣的:(python,列表索引越界怎么处理)