python列表

列表list

    • python
      • 1.列表的创建
      • 2.列表的特点
      • 3.列表的查询操作
      • 4.列表的添加操作
      • 5.列表的删除操作
      • 6.列表的修改操作
      • 7.列表元素的排序操作
      • 8.列表生成式

python

  • Python列表是一种可变的有序数据结构,可以存储任意类型的元素。列表中的元素可以通过索引访问,索引从0开始。可以使用索引来获取、修改或删除列表中的元素。
  • 列表还支持一些常见的操作,如添加元素、合并列表、切片等。列表是 Python 中常用的数据结构之一,可以灵活地处理和操作数据。

1.列表的创建

  • 列表用方括号 [] 表示,元素之间用逗号分隔。
  • 创建方式:
1.使用中括号
	lst = ['美羊羊','沸羊羊']
2.调用内置函数list()
	lst2 = list(['美羊羊','沸羊羊'])

2.列表的特点

  • 列表元素按顺序有序排列
  • 索引映射唯一个数据
  • 列表可以存储重复数据
  • 任意数据类型混存
  • 根据需要动态分配和回收内存

3.列表的查询操作

  • 获取列表中指定元素的索引
如查列表中存在N个相同元素,只返回相同元素中的第一个元素的索引  例:lst.index('美羊羊')
如果查询的元素在列表中不存在,则会抛出ValueError
还可以在指定的start和stop之间进行查找(包括start,不包括end)
  • 获取列表中的单个元素
正向索引从0到N-1  例:lst[0]
逆向索引从-N到-1  例:lst[-N]
指定索引不存在,抛出indexError
  • 获取列表中的多个元素(切片操作)
语法:列表名[start:stop:step]
切片的结果:原列表片段的拷贝
切片的范围:[start,stop)
step默认为1:简写为[start,stop)
step为正数:[:stop:step]->切片的第一个元素默认为列表的第一个元素->从start开始往后切
		   [start:step]->切片的最后一个元素默认是列表的最后一个元素->从start开始往后切
step为负数:[:stop:step]->切片的第一个元素默认为列表的最后一个元素->从start开始往后切
	       [start:step]->切片的最后一个元素默认是列表的第一个元素->从start开始往后切
  • 判断指定元素是否存在列表中
元素  in   列表名
元素  not in  列表名
  • 列表元素的遍历
for 迭代变量 in 列表名:
	操作

4.列表的添加操作

方法/其他 操作描述
append() 在列表的末尾添加一个元素
extend() 在列表的末尾至少添加一个元素
insert() 在列表的任意位置添加一个元素
切片 在列表的任意位置添加至少一个元素
lst = [10, 20, 30]

lst.append(100)
print(lst)  # lst = [10, 20, 30, 100](地址ip没有改变)

lst2 = ['hello', 'world']
'''
lst.append(lst2)  # 将lst2作为一个元素添加到列表的末尾
print(lst)  # [10, 20, 30, 100, ['hello', 'world']]
'''

lst.extend(lst2)  # 向列表的末尾一次性添加多个元素
print(lst)  # [10, 20, 30, 100, 'hello', 'world']

lst.insert(1, 90) # 在第一个位置插入90
print(lst)  # [10, 90, 20, 30, 100, 'hello', 'world']

lst3 = [True, False, 'hello']
lst[1:] = lst3
print(lst)   # [10, True, False, 'hello']

5.列表的删除操作

方法/其他 操作描述
remove() 一次删除一个元素。重复元素只删除第一个。元素不存在抛出ValueError。
pop() 删除一个指定索引位置上的元素,指定索引不存在抛出IndexError。不指定索引,删除列表中最后一个元素
切片 一次至少删除一个元素
clear() 清空列表
del 删除列表
lst = [10, 20, 30, 40, 50, 60, 30]

lst.remove(30);
print(lst)  # [10, 20, 40, 50, 60, 30]

lst.pop(1)  # [10, 40, 50, 60, 30]
print(lst)

#lst.pop(5) # 指定位置不存在,pop index out of range

lst.pop()
print(lst)  # [10, 40, 50, 60]

new_list = lst[1:3]
print(new_list)  # 产生新列表对象[40, 50]

# 不产生新的列表对象,而实删除原列表中的内容
lst[1:3] = []
print(lst)  # [10, 60]

lst.clear()
print(lst)  # []

del lst
#print(lst) # name 'lst' is not defined

6.列表的修改操作

  • 为指定索引的元素赋予一个新值
  • 为指定的切片赋予一个新值
lst = [10, 20, 30, 40]

lst[2] = 100
print(lst)  # [10, 20, 100, 40]

lst[1:3] = [300, 400, 500, 600]
print(lst)  # [10, 300, 400, 500, 600, 40]

7.列表元素的排序操作

  • 两种常用方法
  • 方法1:调用sort()方法,列表中的所有元素默认按照从小到大的顺序进行排序,可以指定reverse=True,进行降序/升序(不产生新列表)
  • 方法2:调用内置函数sorted(),可以指定reverse=True,进行降序/排序,原列表不发生改变(产生新列表)
lst = [20, 40, 10, 98, 54]

lst.sort()
print(lst)  # [10, 20, 40, 54, 98] 地址id不变

lst.sort(reverse=True)
print(lst)  # [98, 54, 40, 20, 10]

lst1 = [20, 40, 10, 98, 54]

new_list = sorted(lst1)
print(new_list)  # [10, 20, 40, 54, 98] 地址id改变

new_list1 = sorted(lst1, reverse=True)
print(new_list1)  # [98, 54, 40, 20, 10] 地址id改变

8.列表生成式

语法格式:[i(表示列表元素的表达式) for i(自定义变量) in range(1, 10)(可迭代对象)]
lst = [i for i in range(1, 10)]
print(lst)  # [1, 2, 3, 4, 5, 6, 7, 8, 9]

# 列表中的元素为:2 4 6 8 10
lst2 = [i * 2 for i in range(1, 6)]
print(lst2)  # [2, 4, 6, 8, 10]

你可能感兴趣的:(python基础,python,服务器,linux)