List 列表基础用法
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表的语法格式:
:::info
变量[头下标:尾下标]
:::
索引值以 0 为开始值,-1 为从末尾的开始位置
python
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表
# python 字符串列表中的元素是可以改变的
a = [1,2,3,4,5,6]
a[0] = 9
a[2:5]=[13,14,15]
print(a)
# [9, 2, 13, 14, 15, 6]
a[2:5] = [] # 将对应的元素值设置为 []
print(a)
# [9, 2, 6]
"""
1、List写在方括号之间,元素用逗号隔开
2、和字符串一样,List可以被索引和切片
3、List可以使用+操作符进行拼接
4、List的元素可以改变
5、Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串:
"""
a = [9, 2, 13, 14, 15, 6]
print(a[1:5:2]) # [2, 14]
"""
6、如果第三个参数为负数表示逆向读取,以下实例用于翻转字符串:
"""
def reverseWords(input):
# 通过空格将字符串分隔符,把各个单词分隔为列表
inputWords = input.split(" ")
# 翻转字符串
# 假设列表 list = [1,2,3,4],
# list[0]=1, list[1]=2 ,而 -1 表示最后一个元素 list[-1]=4 ( 与 list[3]=4 一样)
# inputWords[-1::-1] 有三个参数
# 第一个参数 -1 表示最后一个元素
# 第二个参数为空,表示移动到列表末尾
# 第三个参数为步长,-1 表示逆向
inputWords = inputWords[-1::-1]
# 重新组合字符串
output = " ".join(inputWords)
return output
if __name__ == "__main__":
input = "do you love me @ nana"
rw = reverseWords(input)
print(rw)
list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)
list = ['Google', 'Runoob', 1997, 2000]
print("原始列表 : ", list)
del list[2]
print("删除第三个元素 : ", list)
列表基本操作
python 表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print(x, end=" ") | 1 2 3 | 迭代 |
嵌套列表
python
>>>a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'
列表比较
python
# 导入 operator 模块
import operator
a = [1, 2]
b = [2, 3]
c = [2, 3]
print("operator.eq(a,b): ", operator.eq(a,b))
print("operator.eq(c,b): ", operator.eq(c,b))
# 输出结果
operator.eq(a,b): False
operator.eq(c,b): True
python列表函数和方法
序号 | 函数 | 描述 |
---|---|---|
1 | len(list) | 列表元素个数 |
2 | max(list) | 返回列表元素最大值 |
3 | min(list) | 返回列表元素的最小值 |
4 | list(seq) | 将元组转换为列表 |
5 | list.append(obj) | 在列表末尾添加新的对象 |
6 | list.count(obj) | 统计某个元素在列表中出现的次数 |
7 | list.extend(seq) | 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
8 | list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置 |
9 | list.insert(index, obj) | 将对象插入列表 |
10 | list.pop([index=-1]) | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
11 | list.remove(obj) | 移除列表中某个值的第一个匹配项 |
12 | list.reverse() | 反向列表中元素 |
13 | list.clear() | 清空列表 |
14 | list.copy() | 复制列表 |