4-python基础学习-数据结构-list列表的常用操作

修订日期 内容
2021-2-6 初稿

初始化

list1 = ['python', 'java', 2021]

#使用内置函数创建
list2 = list(['python', 'java', 2021])

# 列表生成式 生成列表
list0 = [i * 2 for i in range(1, 6)]
print(list0)  # [2, 4, 6, 8, 10]

获取值与下标

下标 0 1 2
python java 2021
下标 -3 -2 -1
list1 = ['python', 'java', 2021]
# 获取指定索引位置的值
print(list1[0])  # python
print(list1[-3])  # python

# 根据值查找索引
list2 = ['python', 'java', 2021, 'java']
print(list2.index('java'))  # 1 相同元素返回第一个
# print(list2.index('C'))  # 不存在则运行错误

# 获取指定位置的索引,注意,end位置不包含,如[1,3]索引是1,2,不包含3
print(list2.index('java', 2, len(list2)+1))  # 3 相同元素返回第一个

截取子列表

示例

list2 = ['python', 'java', 2021, 'java']
# 截取子列表 语法list[start:stop:step]

print(list2[1:3])  # ['java', 2021] 默认步长为1(后索引不包含‘)

# 指定步长 获取子列表
print(list2[0:3:2])  # ['python', 2021]

# 指定步长为-1 获取子列表
print(list2[::-1])  # ['java', 2021, 'java', 'python'] 反转列表

判断元素是否存在

# 字符串判断元素是否存在的方式
print('p' in 'python')  # True

list2 = ['python', 'java', 2021, 'java']
print('java' in list2)  # True
print('java' not in list2)  # False

列表的增删改

添加,修改,替换

方法API

  • append(elem):向后添加一个元素
  • extend([elem1,elem2]):向后一次性添加多个元素
  • insert(index,elem):在指定位置添加元素,之后的元素将会后移
  • 替换元素

示例

#  元素添加
print("======插入元素======")
list3 = ['hello']
list3.append('python')
print(list3)  # ['hello', 'python']

# 批量添加多个元素
list3.extend(['java', 2021])
print(list3)  # ['hello', 'python', 'java', 2021]

# 在指定位置添加元素,后面的元素将会后移
list3.insert(1, '0206')
print(list3)  # ['hello', '0206', 'python', 'java', 2021]

# 替换元素
print('原列表', list3)  # 原列表 ['hello', '0206', 'python', 'java', 2021]
list3[0] = 'world'
print('替换后', list3)  # 替换后 ['world', '0206', 'python', 'java', 2021]

# 批量替换元素
print('原列表', list3)  # 原列表 ['world', '0206', 'python', 'java', 2021]
list3[2:] = ['world', 'C++', 'C', 'SQL']
print('替换后', list3)  # 替换后 ['world', '0206', 'world', 'C++', 'C', 'SQL']

删除

API

方法 描述
remove(ele) 删除指定的元素,不存在则报错
pop(index) 删除指定索引的元素,不指定则默认删除末尾元素
clear() 清空所有列表

代码

list1 = ['python', 'java', 2020]

# 删除指定的元素
list1.remove('java')
print(list1)  # ['python', 2020]
# list1.remove('C')  # 删除不存在的元素会报错


# 删除指定索引位置的元素
list1 = ['python', 'java', 2020]
list1.pop()  # 不指定index 默认删除最后一个元素
print(list1)  # ['python', 'java']

list1.pop(0)
print(list1)  # ['java']

list1 = ['python', 'java', 2020]
# 清空元素
list1.clear()

# 删除定义的对象
del list1
# print(list1)  # 报错

排序API

方法 描述
sort() 默认升序
sort(reverse=True) 降序
内置函数sorted() 使用内置函数排序,将会生成一个新的列表

代码

list1 = [30, 1, 4, 20, 100, 7, 9, 1]
# 升序
list1.sort()
print(list1)  # [1, 1, 4, 7, 9, 20, 30, 100]

list1 = [30, 1, 4, 20, 100, 7, 9, 1]
# 降序
list1.sort(reverse=True)
print(list1)  # [100, 30, 20, 9, 7, 4, 1, 1]

list1 = [30, 1, 4, 20, 100, 7, 9, 1]
# 内置函数升序,将会参数新列表
list2 = sorted(list1)
print(list1)  # [30, 1, 4, 20, 100, 7, 9, 1] 原列表的顺序不会有任何变化
print(list2)  # [1, 1, 4, 7, 9, 20, 30, 100] 新列表

# 内置函数降序,产生新列表
list3 = sorted(list1, reverse=True)
print(list3)  # [100, 30, 20, 9, 7, 4, 1, 1] 新列表

Guess you like

Origin blog.csdn.net/weixin_48470176/article/details/113730311