Python 列表List使用方法和示例

# -*- coding: utf-8 -*-
“””
—– List 列表测试 ——
列表是Python中内置有序、可变序列,列表的所有元素放在一对中括号“[]”中,并使用逗号分隔开;
当列表元素增加或删除时,列表对象自动进行扩展或收缩内存,保证元素之间没有缝隙;

在Python中,一个列表中的数据类型可以各不相同,可以同时分别为整数、实数、字符串等基本类型,甚至是列表、元组、字典、集合以及其他自定义类型的对象
@author: 枫之影 www.py666.cn
“””

  • 列表常用方法
 方法 说明
 lst.append(x) 将元素x添加至列表lst尾部
 lst.extend(L)  将列表L中所有元素添加至列表lst尾部
 lst.insert(index, x)  在列表lst指定位置index处添加元素x,该位置后面的所有元素后移一个位置
 lst.remove(x)  在列表lst中删除首次出现的指定元素,该元素之后的所有元素前移一个位置
 lst.pop([index])  删除并返回列表lst中下标为index(默认为-1)的元素
 lst.clear()  删除列表lst中所有元素,但保留列表对象
 lst.index(x)  返回列表lst中第一个值为x的元素的下标,若不存在值为x的元素则抛出异常
 lst.count(x)  返回指定元素x在列表lst中的出现次数
 lst.reverse()  对列表lst所有元素进行逆序
 lst.sort(key=None, reverse=False)  对列表lst中的元素进行排序,key用来指定排序依据,reverse决定升序(False),还是降序(True)
 lst.copy()  返回列表lst的浅复制

# 列表创建与删除
# 使用“=”直接将一个列表赋值给变量即可创建列表对象
ls0=[] #或 list() # 创建空列表
ls=[‘a’,’b’,’c’]
print(ls)

# 也可以使用list()函数将元组、range对象、字符串或其他类型的可迭代对象类型的数据转换为列表
ls= list((1,2,6,8))
print(ls)

ls=list(range(1,10,2))
print(ls)

# 列表索引
ls=[‘aa’,’bb’,’cc’,’dd’]
print(ls[1]) #输出第二个元素 bb
print(ls[-1]) #输出最后个元素 dd

# 切片
# 切片适用于列表、元组、字符串、range对象等类型
# 可以使用切片来截取列表中的任何部分,得到一个新列表,也可以通过切片来修改和删除列表中部分元素
# 甚至可以通过切片操作为列表对象增加元素
print(ls[1:]) #打印第一个元素之后的内容
print(ls[:-1]) #打印最后一个元素之前的内容
print(ls[::-1]) #倒序输出

# 重复
ls2=ls*2
print(ls2)

# 连接 列表元素的增加
# 可以使用“+”运算符将元素添加到列表中
# 严格意义上来讲,这并不是真的为列表添加元素,而是创建了一个新列表,并将原列表中的元素和新元素依次复制到新列表的内存空间。
# 由于涉及大量元素的复制,该操作速度较慢,在涉及大量元素添加时不建议使用该方法
ls2=ls+[‘ee’,’ff’]
print(ls2)

# 赋值
ls2[0]=’uu’
print(ls2)

# 成员操作赋
if ‘bb’ in ls:
print(“bb in ls”)

# 迭代:[for循环遍历]
for i in ls:
print(i)

# 使用列表对象的append()方法在当前列表尾部追加元素
ls.append(‘qq’)

# 使用列表对象的extend()方法可以将另一个迭代对象的所有元素添加至该列表对象尾部
# 通过extend()方法来增加列表元素也不改变其内存首地址,属于原地操作
ls.extend([‘vv’,’yy’])
print(ls)

# insert()方法将元素添加至列表的指定位置
# 应尽量从列表尾部进行元素的增加与删除操作。
# 列表的insert()可以在列表的任意位置插入元素,
# 但由于列表的自动内存管理功能,insert()方法会引起插入位置之后所有元素的移动,这会影响处理速度
ls.insert(3, ‘tt’) # 在下标为3的位置插入元素tt
print(ls)

# 使用del命令删除列表中的指定位置上的元素
del ls[1] #删除下标1位置的元素
print(ls)

# pop()方法删除并返回指定位置(默认为最后一个)上的元素
# 如果给定的索引超出了列表的范围则抛出异常
ls.pop()
print(ls) # 删除列表最后一个

ls.pop(1)
print(ls) # 删除下标1位置的元素

# remove()方法删除首次出现的指定元素,如果列表中不存在要删除的元素,则抛出异常
ls.remove(‘aa’)

# index()方法获取指定元素首次出现的下标,若列表对象中不存在指定元素,则抛出异常
i=ls.index(‘dd’)
#i=ls.index(‘ddww’)
print(“ls.index(‘dd’)=%d” %(i))

# count()方法统计指定元素在列表对象中出现的次数
ls.append(‘vv’)
i=ls.count(‘vv’)
print(“ls.count(‘vv’)=%d” %(i))

# sort()方法进行原地排序
ls.sort() #默认是升序排序
ls.sort(reverse = True) #降序排序
print(ls)

# 使用内置函数sorted()对列表进行排序并返回新列表
ls2=sorted(ls)
print(ls2) #默认是升序排序

# reverse()方法将元素原地逆序
ls.reverse()

# 使用内置函数reversed()对列表元素进行逆序排列
ls2=reversed(ls)

# 乱序
import random
random.shuffle(ls)
print(ls)

# list 分割字符串
s = “;”.join(ls) #使用分号分隔字符串
print(s)

# 字符串按指定分隔符生成list
ls2=s.split(‘;’)
print(ls2)

# 删除整个列表
del ls
print(‘———— END ————‘)