python的list列表常见用法总结(pythonlist列表详解)

'''
    列表操作
'''
'''
    创建列表
    有两种方式:
    1.直接使用赋值运算符创建列表
    2.使用list()函数,list函数用于将可迭代类型的数据转换成列表。
    例如 range对象,字符串,元组等
'''
# data=[1,2,3,4,5]
stuple = (10, 32, 73, 24, 15, 66, 90, 67, 54)
data = list(stuple)
'''
    访问列表元素
    切片操作
'''
print('输出列表的内容:', data)
print('输出所以为1的元素:', data[1])
print('返回包含原列表中的所有元素的新列表:', data[::])
print('逆序输出列表元素:', data[::-1])
print('输出列表索引为奇数的元素:', data[::2])
print('输出列表索引为偶数的元素:', data[1::2])
print('指定切片开始和结束的索引:', data[1:4])
print('结束位置的值大于列表长度时,从列表尾部截断:', data[2:100])
print('开始位置的值大于列表长度时,返回空列表:', data[100:])
'''
    遍历列表
    有两种方式:
    1.直接使用for循环实现
    2.使用for循环和enumerate()函数实现
'''
# 1.直接使用for循环实现
for item in data:
    print(item, end=' ')
# 2.使用for循环和enumerate()函数实现。可以实现同时输出索引值和元素内容
for index, item in enumerate(data):
    print('索引为%d,元素为%d' % (index, item))
'''
    添加操作
    有四种实现方法:
    1.用加号"+",将两个列表相连接
    2.用append()方法,元素添加到列表的尾部
    3.用insert()方法,向列表的指定位置添加元素,但执行效率也没有append()高
    4.用extend()方法,将一个列表添加到另一个列表的后面
    总结:append,insert,extent这三个方法都可以对列表的元素进行操作,没有返回值,
        直接修改了原数据对象
        而用“+”将两个列表相连接,需要创建新的列表对象,从而需要消耗额外的内存
'''
# 1.用加号"+",将两个列表相连接
data1 = list(range(4))
data2 = ['a', 'b', 'c']
print('data1+data2=%s' % (data1 + data2))
# 2.用append()方法,元素添加到列表的尾部
data1.append('x')
data1.append('y')
print('data1:', data1)
# 3.用insert()方法,向列表的指定位置添加元素
data1.insert(1, '小明')
data1.insert(4, '小强')
print('data1:', data1)
# 4.用extend()方法,将一个列表添加到另一个列表的后面
data2.extend('w')
print('data2:', data2)
data2.extend(['o', 'p', 'q'])
print('data2:', data2)
'''
    修改元素
    通过索引获取元素,然后再为其重新赋值
'''
data4 = ['小汪', '小明', '小强', '旺财']
data4[2] = '小红'
print('将索引为%d的元素修改为%s:' % (2, '小红'), data4)

'''
    对列表进行统计计算
    1.获取指定元素出现的次数
    2.获取指定元素首次出现的位置索引
    3.统计数值列表的元素和
    
'''
# 1.获取指定元素出现的次数
data5 = [12, 32, 34, 12, 43, 56, 32, 32]
print("元素%d在列表中的重复次数为%d次。" % (12, data5.count(12)))
print("元素%d在列表中的重复次数为%d次。" % (32, data5.count(32)))
# 2.获取指定元素首次出现的位置索引
print("元素%d在列表中的第%d个位置。" % (32, data5.index(32) + 1))
# 3.统计数值列表的元素和,以切片的方式计算
print('整个列表的元素和:%d' % sum(data5))
print(data5[1:4])
print('从第一个位置到第四个位置的元素和:', sum(data5[1:4]))
'''
    对列表元素进行排序操作
    1.使用列表对象的sort()方法实现,默认为升序排列
    2.使用内置的sorted()函数实现
    3.使用reverse()方法将列表逆序输出
'''
# 1.使用列表对象的sort(key=None,reverse=False)方法实现,默认为升序排列,无返回值
# 注意:参数key表示比较键,例如key=str.lower,表示排序时不区分大小写
# reverse=False:表示按升序排列;reverse=True:表示按降序排列
data6 = [43, 67, 54, 78, 90, 21, 34]
data6.sort()
print('按照升序输出列表:', data6)
data6.sort(reverse=True)
print('按照降序输出列表:', data6)
# 2.使用内置的sorted()函数实现,有返回值
print('使用内置函数sorted()按照升序输出列表:', sorted(data6))
print('使用内置函数sorted()按照降序输出列表:', sorted(data6, reverse=True))
# 3.使用reverse()方法将列表逆序输出,相当于从后往前输出元素,无返回值
data6.reverse()
print("使用reverse()方法将列表逆序输出:", data6)
'''
    删除元素
    有三种实现方式:
    1.根据索引删除元素:del语句,pop()方法
    2.根据元素值删除:remove()方法
    3.clear()方法清空列表,但还保留列表的对象
    4.删除整个列表:del语句
'''
# 1.根据索引删除元素
del data4[1]
print('删除索引为%d的元素:' % 1, data4)
data4.pop(2)
print('删除索引为%d的元素:' % 2, data4)
# 2.根据元素值删除
data4.remove('小红')
print('将元素为%s删除:' % '小红', data4)
#3.clear()方法清空列表,但还保留列表的对象
data4.clear()
print('执行清空列表后:',data4)
# 4.删除整个列表
# del语句在实际开发中并不常用,因为Python自带的垃圾回收机制会自动销毁不用的列表.
del data

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注