Python 列表操作:深入理解与高效实践

列表 是 Python 中的一种 内置数据类型,用于存储一系列 可变的数据项

列表的方法和属性

        append ():在列表末尾添加一个元素。

my_list = [1, 2, 3]

my_list.append(4)

print(my_list)  # 输出: [1, 2, 3, 4]

        extend ():将一个列表中的所有元素添加到另一个列表的末尾。

list1 = [1, 2, 3]

list2 = [4, 5, 6]

list1.extend(list2)

print(list1)  # 输出: [1, 2, 3, 4, 5, 6]

        insert ():在列表中的指定位置插入一个元素。

my_list = [1, 2, 3]

my_list.insert(1, 'a')

print(my_list)  # 输出: [1, 'a', 2, 3]

        remove ():移除列表中指定的元素(如果有多个,默认只移除第一个)。

my_list = [1, 'a', 2, 3]

my_list.remove('a')

print(my_list)  # 输出: [1, 2, 3]

        pop ():移除列表中指定位置的元素,并返回该元素。

 my_list = [1, 2, 3]

popped_element = my_list.pop(1)

print(popped_element)  # 输出: 2

print(my_list)  # 输出: [1, 3]

        index ():返回列表中指定元素的索引。

my_list = [1, 2, 3, 2, 4]

index = my_list.index(2)

print(index)  # 输出: 1

        count ():返回列表中指定元素的次数。

 my_list = [1, 2, 3, 2, 4]

count = my_list.count(2)

print(count)  # 输出: 2

        sort ():对列表中的元素进行排序。

my_list = [3, 1, 4, 1, 5, 9]

my_list.sort()

print(my_list)  # 输出: [1, 1, 3, 4, 5, 9]

        reverse ():反转列表中的元素顺序。

my_list = [1, 2, 3]

my_list.reverse()

print(my_list)  # 输出: [3, 2, 1]

        copy ():创建列表的浅拷贝。

# copied_list = list_name.copy() # 基本语法

my_list = [1, 10, 2, 3, 6]

list_1 = my_list.copy()

print(list_1)   # 输出结果为 [1, 10, 2, 3, 6]

        clear ():移除列表中的所有元素。

my_list = [1, 10, 2, 3, 6]

list_1 = my_list.copy()

print(list_1)   # 输出结果为 [1, 10, 2, 3, 6]

list_1.clear()

print(list_1)    # 输出结果为 []

        len ():返回列表中元素的数量。

# length = len(list_name)  # 基本语法

my_list = [1, 10, 2, 3, 6]

list_1 = my_list.copy()

print(list_1)   # 输出结果为 [1, 10, 2, 3, 6]

length = len(list_1)

print(length)   # 输出结果为 5

        list ():将其他数据类型转换为列表。

# listified = list(other_data_type)  # 基本语法

my_coco = {1, 10, 2, 3, 6}

name = list(my_coco)

print(name)   # 输出结果为 [1, 2, 3, 6, 10]

列表切片

        列表切片是一种非常强大的功能,可以使我们用更简洁的方式获取列表的一部分。

        基本语法

list [start:stop:step]

        start:指定切片的开始位置,默认为0,即列表的第一个元素。

        stop:指定切片的结束位置,但不包括该位置的元素。如果省略,默认会切到最后一个元

素。

        step:指定步长,即每次跳跃的元素数量。如果省略,默认为1。

my_list = [1, 2, 3, 4, 5]

sliced_list = my_list[1:4]  # 从索引1开始,到索引4(不包含)结束

print(sliced_list)  # 输出: [2, 3, 4]

列表推导式

        列表推导式是一种创建列表的简洁方式,特别是当列表生成过程中需要应用一个循环时。

squared_list = [x  x for x in range(5)]

print(squared_list) 

列表的初始化方法:

        1. 使用方括号直接创建:

my_list = [1, 2, 3, 4, 5]

        2. 使用列表推导式:

my_list = [x  x for x in range(5)]

        3. 使用list()函数:

my_list = list(range(5))

        4. 使用列表解包:

a, b, c = [1, 2, 3]

        5. 使用运算符:

arr = [0]  20  # 创建一个长度为20的列表,每个元素都是0

初始化大小为20个元素的列表,每个元素初始化为0

        方法一:使用 for 循环和 append ()

arr = []

for i in range(20):

    arr.append(0)

        优点:简单易懂,适用于初学者。

        缺点:性能相对较低,每次循环都会调用append () 方法,增加额外的函数调用开销。

        方法二:使用带计数器变量的while循环和append()

arr = []

i = 0

while(i < 20):

    arr.append(0)

        优点:与for循环类似,但计数器变量可以更灵活地控制循环。

        缺点:性能与for循环相似,同样存在函数调用开销。

        方法三:使用列表推导

arr = [0 for i in range(20)]

        优点:简洁高效,性能优于for和while循环。

        缺点:可能不如for循环直观,对于初学者可能需要一段时间来适应。

        方法四:使用运算符

arr = [0]*20

        优点:最简洁高效的方法,直接在内存中创建了20个元素的列表。

        缺点:仅适用于所有元素都相同的情况,不适用于其他初始化需求。

性能比较

        列表推导式通常比 for 和 while 循环快,而使用运算符的速度最快,因为它直接在内存中创建

了所需的列表,避免了每次循环的函数调用开销。

        如果列表的元素都是相同的,使用运算符是最推荐的方法,因为它在创建列表时具有最高的

效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值