Python基础03 列表、元组基本操作

一、前言

本文主要记录了Python学习过程中,基本数据类型列表list、元组tuple的操作

二、列表list

主要包括增、删、改、查的一些方法

append()在尾部进行追加元素

l = [1, 2, (2, 3, 4), 5, 7, 8]

l.append(4)

输出结果
[1, 2, (2, 3, 4), 5, 7, 8, 4]

insert()在具体位置插入元素

l = [1, 2, (2, 3, 4), 5, 7, 8]

l.insert(1, '葫芦')

输出结果
[1, '葫芦', 2, (2, 3, 4), 5, 7, 8]

extend()在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

l = [1, 2, (2, 3, 4), 5, 7, 8]

l.extend('abc')
print(l)

输出结果
[1, 2, (2, 3, 4), 5, 7, 8, 'a', 'b', 'c']

l.remove()
l.pop()
l.clear()
del

pop()按索引删除 pop返回删除的元素

l = ['allen', 'alex', 'Wusir']
res = l.pop(1)
print(res)

输出结果
alex

remove()按元素删除 返回删除后的列表

l = ['allen', 'alex', 'Wusir']
res = l.remove('allen')
print(res)

输出结果
['alex', 'Wusir']

clear() 清空列表,列表还在

l = ['allen', 'alex', 'Wusir']
l.clear()
输出结果
[]

del 删除列表,列表不在

直接删除


l = [1, 2, 3, 4, 5]
del  l
print(l)

NameError: name 'l' is not defined

按照索引删除

l = [1, 2, 3, 4, 5]
del l[2]
print(l)

[1, 2, 4, 5]
nait

按照切片删除

l = [1, 2, 3, 4, 5]
del l[1:4]
print(l)

[1]

按索引改

l = [1, 2, 3, 4, 5]
l[0]='alex'
print(l)


['alex', 2, 3, 4, 5]

按切片改

l = [1, 2, 3, 4, 5]
l[:3]='allen'
print(l)
结果:['a', 'l', 'l', 'e', 'n', 4, 5]


l = [1, 2, 3, 4, 5]
l[1:4] = ['a', '中国', '']
print(l)
结果:[1, 'a', '中国', '', 5]


l = [1, 2, 3, 4, 5]
l[1:4:2] = ['a', '中国', '']
print(l)
结果:['a', 2, 'b', 4, 5]

通过元素查索引 index()

l = ['allen', 'alex', 'Wusir']
res = l.index('allen')
print(res)

allen

通过索引查元素

l = ['allen', 'alex', 'Wusir']
print(l[0])

allen

最后还有切片去查和for 循环遍历查

list常用的方法

cout()计算某个元素在list中出现此时
sort()对列表进行排序
reverse()将列表中的元素反向存放

需要注意的地方

在循环列表的时候,最好不要修改列表的大小,否则会出现超过预期的结果

举例说明:
l1 = [11, 22, 33, 44, 55]
删除l1中索引为奇数的元素

l1 = [11, 22, 33, 44, 55]
for i in range(len(l1)):
    if i % 2 == 1:
        l1.remove(l1[i])
print(l1)

[11, 33, 44]

我们预期的结果应该是[11,33,55],但实际结果是[11, 33, 44],为什么呢,原因在删除列表中元素的过程中,元素对应的索引也发生了变化。
为了达到上述目的,我们可以从后向前删

l1 = [11, 22, 33, 44, 55]
for i in range(len(l1)-1,-1,-1):
    if i % 2 == 1:
        l1.remove(l1[i])
print(l1)

[11, 33,55]

元组

元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。

原文地址:https://www.cnblogs.com/suxianglun/p/9036814.html