Python基础知识-列表(List)相关

Python基础知识-列表(List)相关Python 列表相关的增删改查操作总结 pythonlist 字符串

大家好,欢迎来到IT知识分享网。

前言 

Python有六种常用的数据类型,分别为字符串(String)、数字(Number)、列表(List)、字典(Dic)、元组(Tuple)、集合(Set),这六种数据类型满足了大部分的使用场景,本次咱就浅浅的记录一下:列表(List) 各种操作方法。

列表(List)是Python中使用最频繁的数据类型,列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表,即嵌套。

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

列表截取的语法格式:

变量名[起始下标:终止下标]

接下来,咱们就从增删改查四个维度来记录一下列表的有关知识,话不多说,嘀嘀嘀,发车。。。

1、创建列表:

创建列表很简单,代码示例如下:

# 方式1:使用[]直接定义一个列表,[]里面不填入值,即创建一个空列表 li = [1, 2, 3] print(type(li)) # 方式2:通过转换数据类型(元组、字符串、集合等),获取一个列表 str = '黄风岭小钻风' str_list = list(str) print(type(str_list)) # 方式3:使用列表推导式创建一个列表 is_list = [i for i in range(1, 6)] print(type(is_list)) # 方式4:通过*扩展列表,原列表数据累计扩展 *n 次 li_one = [1, 2, 3] li_three = li_one * 3 print(li_three, type(li_three)) # 方式5:通过拷贝已有的列表,获取一个相同的新列表 li_four = li_three.copy()

运行结果:

Python基础知识-列表(List)相关

除以上方法外,还可以使用range()函数创建数字列表等等,就不一一列举了

2、删除列表

1、remove() 函数:删除列表中的指定元素并更新列表

语法:

        list.remove(element)

                list–列表名称

                element–要删除的元素

注意:

1、remove() 函数只删除第一个匹配成功的元素,如果存在多个相同元素,只会删除第一个,如果需要全部删除,可以进行循环调用;

2、指定删除的元素不存在于列表中,remove() 函数将引发ValueError异常。因此,在使用remove() 函数之前,最好先使用in关键字或try-except语句块来判断列表中是否存在要删除的元素;

3、remove() 函数执行后并不会返回任何值,而是直接更新原列表

示例代码:

# 使用remove() 函数删除列表中指定元素 li_one = [1, 2, 3] li_three = li_one * 3 print(f'原列表:{li_three}') # 循环判断,多次调用函数,删除列表中所有符合条件的元素 while 2 in li_three: li_three.remove(2) print(f'删除后:{li_three}')

执行结果:

Python基础知识-列表(List)相关

 2、pop() 函数:内置方法,可用于列表和字典,用于删除并返回列表中指定索引位置的元素,并 更新列表

语法:

        list.pop(index)

                list–列表名称

                index–要删除的元素所在的索引位置

注意:

1、pop() 函数默认删除并返回列表最后一个元素

2、pop() 函数会直接更新原列表

3、被操作的列表为空列表或者索引值溢出,pop() 函数抛出异常:IndexError

4、index索引值只能是数字型数据

 示例代码:

# 使用pop() 函数删除列表中指定位置的元素 li_one = [1, 2, 3] li_three = li_one * 3 print(f'原列表:{li_three}') pop_one_vlue = li_three.pop() print(f'默认删除最后一个元素:{pop_one_vlue}\n第一次删除后列表:{li_three}') pop_two_vlue = li_three.pop(1) print(f'删除指定位置的元素:{pop_two_vlue}\n第二次删除后列表:{li_three}')

执行结果:Python基础知识-列表(List)相关 

3、del 关键字:用于删除对象或变量,在列表中,可以使用del关键字删除列表指定位置的元素,也可以用于删除整个列表

语法:

        del list[index]

                list–列表名称

                index–要删除的元素所在的索引位置,index为空,即删除整个列表

扩展:

1、del 关键字可以删除字典中指定的键值对

        如:del dict[‘key_name’]

2、del 关键字可以删除变量

        如:var = ‘自定义变量’  del var

3、del 关键字可以删除对象或对象的属性

        如:假设存在类:class,class中存在类属性:j,则如下:

                

                class X(object):
                        def __init__(self):
                                self.j = 10
                                self.p = 5

                c = X()
                # del c –删除对象c

                # del c.j –删除对象c的属性j

示例代码:

# 使用del 关键字删除列表中指定位置的元素 li_one = [1, 2, 3] li_three = li_one * 3 print(f'原列表:{li_three}') # 删除单个索引位的值 del li_three[0] print(f'删除后的列表:{li_three}') # 切片删除 del li_three[0: 2] print(f'删除后的列表:{li_three}') # 删除整个列表 del li_three

执行结果:Python基础知识-列表(List)相关

 4、claer() 函数:移除列表或字典中的所有元素,使其变为空列表或空字典(无返回值,更新原列表或原字典)

语法:

        list.clear()

                list–列表名称

示例代码:

# 使用clear() 函数清空列表 li_one = [1, 2, 3] li_three = li_one * 3 print(f'原列表:{li_three}') li_three.clear() print(f'清空后列表:{li_three}')

执行结果:

Python基础知识-列表(List)相关

另外还可以通过遍历列表元素的方式,达到删除列表的目的,示例代码:

li_one = [1, 2, 3] li_three = li_one * 3 print(f'原列表:{li_three}') li_ = [x for x in li_three if x != 2] print(f'删除后的列表:{li_}')

执行结果:Python基础知识-列表(List)相关

3、更新列表

 更新列表的方法有很多,咱就列举一些常用的,各位看官也可以自行去补充

1、insert() 函数:在列表指定位置插入一个元素,直接更新原列表

语法:

        list.insert(index, item_value)

                list–列表名称

                index–要插入的元素所在的索引位置

                item_value–插入的值

注意:

1、定义的插入元素索引超过列表存在的索引值时,不会抛出异常,函数会自动插入到列表两端(负值索引超出插入开头,正值索引超出则插入末尾)

2、使用-1索引插入,并不会插入到列表的最后一个位置,而是插入到倒数第二位置

示例代码: 

li_one = [1, 2, 3] print(f'原列表:{li_one}') # -1 索引,插入倒数第二位 li_one.insert(-1, 50) # 正索引溢出,自动插入末尾 li_one.insert(10, 100) # 负索引溢出,自动插入开头 li_one.insert(-10, 200) # 常规插入 li_one.insert(1, 300) print(li_one)

 执行结果:

Python基础知识-列表(List)相关

2、extend() 函数:用于在列表末尾一次性追加另一个列表中的多个值,直接更新原列表

语法:

        list1.extend(list2)

                list1–扩展列表名称

                list2–函数参数

注意:

1、extend() 函数的参数,不可以是数字型数据

示例代码:

# extend 可扩展列表类型数据 li_one = [1, 2, 3] li_ = [10, 20, 30] print(type(li_)) li_one.extend(li_) print(f'扩展列表后:{li_one}\n') # extend 可扩展元组类型数据 li_two = [1, 2, 3] tup_ty = (40, 50, 60) print(type(tup_ty)) li_two.extend(tup_ty) print(f'扩展元组后:{li_two}\n') # extend 可扩展字符串类型数据 li_three = [1, 2, 3] str_ty = '黄风岭小钻风' print(type(str_ty)) li_three.extend(str_ty) print(f'扩展字符串后:{li_three}\n') # extend 可扩展集合类型数据 li_four = [1, 2, 3] set_ty = {70, 80, 90} print(type(set_ty)) li_four.extend(set_ty) print(f'扩展集合后:{li_four}\n') # extend 可扩展字典类型数据,默认扩展键,使用.values()可扩展值 li_five = [1, 2, 3] dict_ty = {'申': 's', '雅': 'b'} print(type(dict_ty)) li_five.extend(dict_ty) print(f'扩展字典-键后:{li_five}') li_five.extend(dict_ty.values()) print(f'扩展字典-值后:{li_five}\n') # extend 不可以扩展数字类型数据,抛出异常:TypeError li_six = [1, 2, 3] int_ty = 100 print(type(int_ty)) li_six.extend(int_ty) print(f'扩展后:{li_six}')

 执行结果:

Python基础知识-列表(List)相关

3、append() 函数:用于在列表的末尾添加一个新的元素,直接更新原列表,无返回值

语法:

        list.append(value)

                list–列表名称

                value–添加的元素

注意:

1、append() 函数只能用于列表

2、append() 函数一次只能追加一个元素到列表的末尾,需要追加多个元素,可以使用extend() 函数

示例代码:

# append 可扩展列表类型数据 li_one = [1, 2, 3] li_ = [10, 20, 30] print(type(li_)) li_one.append(li_) print(f'扩展列表后:{li_one}\n') # append 可扩展元组类型数据 li_two = [1, 2, 3] tup_ty = (40, 50, 60) print(type(tup_ty)) li_two.append(tup_ty) print(f'扩展元组后:{li_two}\n') # append 可扩展字符串类型数据 li_three = [1, 2, 3] str_ty = '黄风岭小钻风' print(type(str_ty)) li_three.append(str_ty) print(f'扩展字符串后:{li_three}\n') # append 可扩展集合类型数据 li_four = [1, 2, 3] set_ty = {70, 80, 90} print(type(set_ty)) li_four.append(set_ty) print(f'扩展集合后:{li_four}\n') # append 可扩展字典类型数据 li_five = [1, 2, 3] dict_ty = {'申': 's', '雅': 'b'} print(type(dict_ty)) li_five.append(dict_ty) print(f'扩展字典后:{li_five}\n') # append 可扩展数值类型数据 li_six = [1, 2, 3] int_ty = 100 print(type(int_ty)) li_six.append(int_ty) print(f'扩展后:{li_six}')

执行结果:

Python基础知识-列表(List)相关

根据上面的示例,咱们小结一下append() 函数和extend() 函数 的区别:

1、首先,从官方定义上来说,append函数只能追加一个元素到列表的末尾,而extend函数可以追加多个元素到列表的末尾,但是,如果将多个元素封装成一个列表、元组、集合、字典或字符串这样的数据结构,append函数就会将其视为一个元素,整体追加到列表的末尾,而extend函数则是会将其中的元素拆解,一个个的追加进去,这样在实际的运用中,就有了较为灵活的余地

2、根据验证,extend函数无法追加数字类型的数据,但是append函数可以

4、reverse() 函数:用于反转列表元素顺序,直接更新原列表,无返回值

语法:

        list.reverse()

                list–列表名称

注意:

1、reverse() 函数只针对列表类型,不能对其他类型的序列,如字符串、元组等进行反转

2、使用reverse() 函数后,原列表的顺序将永久改变,无法恢复

示例代码:

li_one = [1, 2, 3] print(f'原列表:{li_one}\n') li_one.reverse() print(f'反转后:{li_one}')

 执行结果:

Python基础知识-列表(List)相关

5、 根据元素下标索引重新赋值,更新原列表,无返回值(也可以给整个列表全部重新赋值)

示例代码:

li_one = [1, 2, 3] print(f'原列表:{li_one}\n') # 根据下标更新单个元素 li_one[0] = 4 print(f'更新后:{li_one}\n') # 使用切片方法更新多个元素 li_one[0: 2] = [10, 20] print(f'更新后:{li_one}\n') # 更新整个列表 li_one = 6 print(f'更新后:{li_one}')

执行结果:

Python基础知识-列表(List)相关

6、使用运算符:+ 或 += 合并列表

运算符(+):将两个列表合并成一个新的列表,它会创建一个新的列表,其中包含了两个原始列表中的所有元素且原始列表不会被修改,总结就是用来创建两个列表的合并副本且不改变原列表

运算符(+=):将一个列表的所有元素添加到另一个列表的末尾。与 + 运算符不同,+= 会直接修改左侧的列表,而不是创建一个新的列表,效果类似于extend() 函数

注意:

在Python中,+ 运算符和 += 运算符都只能用于合并或添加两个列表

示例代码:

li_one = [1, 2, 3] li_two = [4, 5, 6] li_three = li_one + li_two print(li_one, li_two, li_three, sep='\n') li_one += li_two print(li_one, li_two, sep='\n')

 执行结果:

Python基础知识-列表(List)相关 

4、查询列表 

1、通过索引获取列表中的元素

2、通过切片操作获取列表中的元素

3、通过关键字 in 判断列表中是否存在指定元素

4、通过count() 函数统计指定元素在列表中的数量

5、通过index() 函数获取指定元素在列表中的索引值

6、通过enumerate() 函数获取列表中每个元素对应的索引和值

7、通过min() 函数获取列表中的最小值,max() 函数获取列表中的最大值

示例代码:

is_list = [x for x in range(1, 10)] print(f'列表如下:{is_list}\n') # 1、通过索引获取列表中的元素 index_get_is_list = is_list[2] print(f'获取列表第2索引位的元素:{index_get_is_list}') # 索引超出列表,会引起报错 try: index_get_is_list_error = is_list[10] except IndexError: print('错误,索引溢出') # 索引值为-1,取列表中最后一个元素的值 index_get_is_list_ = is_list[-1] print(f'索引值为-1获取列表最后的元素:{index_get_is_list_}\n') # 2、通过切片操作获取列表中的元素 new_list = is_list[3: 6] print(f'切片获取的列表元素:{new_list}') # 切片索引超出列表,默认取到列表最后一个元素截止 new_list_index_error = is_list[3: 12] print(f'切片索引范围超出,默认取到列表最后一个元素:{new_list_index_error}') # 切片结束索引为-1,获取列表倒数第二个元素值 new_list_ = is_list[3: -1] print(f'切片结束索引为-1,获取列表倒数第二个元素值:{new_list_}\n') # 3、通过关键字 in 判断列表中是否存在指定元素 num = 12 if num in is_list: print(f'{num}:在列表中') else: print(f'{num}:不存在列表中\n') # 4、通过count() 函数统计指定元素在列表中的数量 total = is_list.count(2) print(f'元素"2"在列表中共有:{total}个\n') # 5、通过index() 函数获取指定元素在列表中的索引值 dex = is_list.index(8) print(f'元素"8"在列表中的索引是:{dex}\n') # 6、通过enumerate() 函数获取列表中每个元素对应的索引和值 dic = {} for index, value in enumerate(is_list): elem = {index: value} dic.update(elem) print(f'列表中元素对应的索引和值:{dic}\n') # 7、通过min() 函数获取列表中的最小值,max() 函数获取列表中的最大值 min_value = min(is_list) max_value = max(is_list) print(f'最小值:{min_value},最大值值:{max_value}')

执行结果:

Python基础知识-列表(List)相关 

写在最后:

        关于列表的操作肯定不止这些,但是写文确实很枯燥,咱就写个大概吧,如果能为一些小伙伴们带来一些微不足道的帮助,那也不算白写了,哈哈哈,终于写完了,就这样,下篇再见! 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/143295.html

(0)
上一篇 2025-05-04 18:10
下一篇 2025-05-04 18:15

相关推荐

发表回复

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

关注微信