列表常用内置方法

 

1.append函数:将一个元素添加到列表的末尾用法:
list.append(new_item)new_item是添加进列表的新元素(成员)被添加的元素只会被添加到末尾append是在原有列表的基础上添加的,不需要额外添加新的变量例:
name = ['张三']print('列表:',name)
name.append('李四')  # 添加字符串name.append((1, 2))  # 添加元组name.append({'age': 12})  # 添加字典name.append({'a', 'b'})  # 添加集合print('添加新元素后:',name)12345678结果:

2.insert函数:将一个元素添加到当前列表的指定位置中用法:
list.insert(index, new_iitem)index:新元素的位置(数字)new_item:添加的新元素(成员)新元素可以添加在列表中的任意位置若inset传入的位置不存在,则将新元素添加到列表末尾字符串、元组、列表的元素位置是从0开始计算的例:
name = ['张三', '李四']print('列表:', name)
name.insert(0, '赵二')  # 在第一个位置添加name.insert(1, None)  # 在第二个位置添加name.insert(10, '王五')  # 位置10不存在,添加在末尾print('添加新元素后:',name)1234567结果:

3.count函数:返回当前列表中某个成员的个数用法:
inttype = list.count(item)item:想查询在列表中个数的元素若查询的元素(成员)不存在,返回0只会检查完整元素存在的个数例:
study = ['语文', '数学','语文', '英语']print('列表:', study)
yuwen_number = study.count('语文')  # 语文的个数yu_number = study.count('语')  # 语的个数huaxue_number = study.count('化学')  # 化学的个数print('语文有{}个'.format(yuwen_number))print('语有{}个'.format(yu_number))print('化学有{}个'.format(huaxue_number))123456789结果:

4.remove函数:删除列表中的某个元素用法:
list.remove(item)item:列表中要删除的元素若是要删除的元素不存在,会直接报错若删除的元素有多个,只会删除从左到右匹配到的第一个元素remove函数不会返回一个新列表,而是在原有列表中进行删除例:
study = ['语文', '数学','语文', '英语']print('列表:', study)
study.remove('语文')  # 有多个元素只会删除第一个study.remove('英语')  # 正常删除英语print('删除部分元素后:', study)123456结果:

5.del函数:将变量完全删除例:
study = ['语文', '数学','语文', '英语']
del study  # 删除变量study,后面打印这个变量会报错的print('列表:', study)1234结果:打印会报错:提示study未被定义,因为变量已经被删除

6.reverse函数:对当前列表顺序进行反转用法:
list.reverse(),无需传参例:
study = ['语文', '数学', '英语']
print('列表:{}'.format(study))
study.reverse()  # 反转列表studyprint('列表反转后:{}'.format(study))123456结果:

7.sort函数:列表按照一定规律进行排序用法:
list.sort(key=None, reverse=False)key:参数比较reverse:排序规则,reverse=True降序,reverse=False升序(默认)使用sort排序,列表中的元素类型必须相同,否则会报错(无法排序)排序规则:中文特殊字符>中文>英文>数字>英文特殊字符,中文按照第一个汉字的拼音的首字母排序,英文按照首字母排序还可使用sorted对列表排序,这个函数是任何类型的数据都可以进行排序,而sort函数只有列表类型能用例:
name = ['张三', 'Mike', '李四', '55', '123', 'World', '$', '¥']print('列表:{}'.format(name))
name.sort()  # 使用sort函数升序new_name1 = sorted(name)  # 使用sorted函数升序print('升序排序:{}'.format(name))print('升序排序:{}'.format(new_name1))
name.sort(reverse=True)  # 使用sort函数降序new_name2 = sorted(name, reverse=True)  # 使用sorted函数降序print('降序排序:{}'.format(name))print('降序排序:{}'.format(new_name2))123456789101112结果:

8.clear函数:将当前列表中的数据清空用法:
list.clear(),无需传参,无返回值例:
a = ['苹果', 12, (1, 3), {1, '11'}]print('列表长度:{}'.format(len(a)))
a.clear()  # 将列表数据清空print('清空列表中的元素后,长度为:{}'.format(len(a)))12345结果:

9.copy函数:将当前列表复制一份相同的列表,新列表与旧列表内容相同,但内存空间不同用法:
list.copy(),无需传参,返回一个内容一样的列表相比较二次赋值,二次赋值的变量与原始的变量享有相同的内存空间,copy函数获取的列表则是不同的内存空间,不同享数据变更copy是浅拷贝:有一个列表a,列表中的元素还是列表,当拷贝出新的列表b后,无论是a还是b内部的列表中的数据发生变化后,相互之间都会受到影响(即只能对数据结构的第一层进行拷贝)深拷贝:不仅对第一层数据进行了copy,对深层的数据也进行了copy,原始变量和新变量完全不共享数据,可以使用copy.deepcopy()进行深拷贝例:
import copy
a = [[1, 2, 3], 'a']print('a列表:{},内存地址:{}'.format(a,id(a)))b = a.copy()  # b是浅拷贝c = copy.deepcopy(a)  # c是深拷贝d = a  # d是二次赋值
a[0].append(4)  # a列表中的列表添加一个元素a.append('b')  # a列表中添加一个元素print('a列表添加元素后:{},内存地址:{}'.format(a,id(a)))print('b列表:{},内存地址:{}'.format(b,id(b)))print('c列表:{},内存地址:{}'.format(c,id(c)))print('d列表:{},内存地址:{}'.format(d,id(d)))1234567891011121314结果:
总结:a列表添加新元素后
b列表,浅拷贝中,新添加的第一层元素没有添加,但是列表中列表数据有变化c列表,深拷贝中,a列表新添加的数据对c完全没有影响d列表,二次赋值中,d列表随着a列表的改变而改变10.extend函数:将其他列表或元组中的元素导入到当前列表中用法:
list.extend(iterable)iterable:表示列表或元组,也可以是字符串,但是会将字符串中拆开再一个个添加进去例:
a = [1, 2]b1 = ['b1', 101]b2 = ('b2', 102)b3 = "b3"print('列表:{}'.format(a))
a.extend(b1)  # 添加列表a.extend(b2)  # 添加元组a.extend(b3)  # 添加字符串print('添加新元素后:{}'.format(a))12345678910结果:
————————————————版权声明:本文为CSDN博主「蜻蜓轻停青亭倾听听雨声」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_41917061/article/details/119177812

posted on 2023-05-16 21:45  与太阳肩并肩  阅读(64)  评论(0编辑  收藏  举报

导航