Python基础变量类型——List浅析

孤者浪人 提交于 2020-10-13 16:15:27

Python使用list

一、list

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

比如,列出班里所有同学的名字,就可以用一个list表示:

classmates = ['Michael', 'Bob', 'Tracy']
print(classmates)

变量classmates就是一个list。

len()函数

1. 获得list元素的个数:

classmates = ['Michael', 'Bob', 'Tracy']
print(len(classmates))

用索引来访问list中每一个位置的元素,记得索引是从0开始的:

classmates = ['Michael', 'Bob', 'Tracy']

print(classmates[0])

print(classmates[1])

print(classmates[2])

print(classmates[3])

当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(classmates) - 1。

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

print(classmates[-1])

以此类推,可以获取倒数第2个、倒数第3个:

classmates = ['Michael', 'Bob', 'Tracy']

print(classmates[-1])

print(classmates[-2])

print(classmates[-3])

print(classmates[-4])

当然,倒数第4个就越界了。

2. list是一个可变的有序表,往list中追加元素到末尾:

classmates = ['Michael', 'Bob', 'Tracy']

classmates.append('Adam')

print(classmates)

也可以把元素插入到指定的位置,比如索引号为1的位置:

classmates = ['Michael', 'Bob', 'Tracy']
#替换
classmates.insert(1, 'Jack')

print(classmates)

pop()函数

1. 删除list末尾的元素

classmates = ['Michael', 'Bob', 'Tracy']

print(classmates.pop())

print( classmates)
['Michael', 'Jack', 'Bob', 'Tracy']

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

classmates.pop(1)

print(classmates)

3. 把某个元素替换成别的元素,可以直接赋值给对应的索引位置:

classmates = ['Michael', 'Bob', 'Tracy']

classmates[1] = 'Sarah'

print(classmates)

list里面的元素的数据类型也可以不同,比如:

L = ['Apple', 123, True]

list元素也可以是另一个list,比如:

s = ['python', 'java', ['asp', 'php'], 'scheme']
print(len(s))

要注意s只有4个元素,其中s[2]又是一个list,如果拆开写就更容易理解了:

p = ['asp', 'php']
s = ['python', 'java', p, 'scheme']

要拿到'php'可以写p[1]或者s[2][1],因此s可以看成是一个二维数组,类似的还有三维、四维……数组,不过很少用到。

如果一个list中一个元素也没有,就是一个空的list,它的长度为0:

L = []
len(L)

二、总结

本文基于Python基础,主要介绍了Python基础中list列表,通过list列表的两个函数 ,对list的语法做了详细的讲解,用丰富的案例 ,代码效果图的展示帮助大家更好理解 。

使用Python编程语言,方便大家更好理解,希望对大家的学习有帮助。 想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/ 想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:http://pdcfighting.com/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!