Python学习之列表常用方法总结

目录
  • 列表(元组)基本操作符回顾
    • len()函数在列表与元组上的使用
    • 列表(元组)之间的累加与乘法
    • in和notin在列表(元组)中的用法
  • 列表常用方法
    • append()函数
    • insert()函数
    • count()函数
    • remove()函数
    • Python内置函数del
    • reverse()函数
    • sort()函数
    • clear()函数
    • copy()函数
    • extend()函数
  • 小练习:完成列表合并功能

列表(元组)基本操作符回顾

len()函数在列表与元组上的使用

示例如下:

names = ['Neo', 'Lily', 'Jack']
length = len(names)
print(length)

# 执行结果如下
# >>> 3

注意:len()函数可以计算除了数字类型之外的其他所有数据类型的长度

列表(元组)之间的累加与乘法

示例如下:

names = ['Neo', 'Lily', 'Jack']
new_names_01 = names + names
print(new_names_01)

names = ['Neo', 'Lily', 'Jack']
new_names_01 = names * 2
print(new_names_01)

# 输出结果如下:
# >>> ['Neo', 'Lily', 'Jack', 'Neo', 'Lily', 'Jack']
# >>> ['Neo', 'Lily', 'Jack', 'Neo', 'Lily', 'Jack']

in 和 not in 在列表(元组)中的用法

in :判断某个成员(元素)是否在该数据结构中,返回结果为布尔值。

not in :判断某个成员(元素)是否不在该数据结构中,返回结果为布尔值。

示例如下:

names = ['Neo', 'Lily', 'Jack']
print(bool('Adam' in names))
print(bool('Adam' not in names))

# 执行结果如下:
# >>> False
# >>> True

列表常用方法

append() 函数

append()函数的功能:将一个元素添加当当前列表中

append()函数的用法:list_append(new_item) ,new_item为添加进列表的新的元素(成员)

append()函数的注意事项:

  • 被添加的元素止水被添加到末尾
  • append() 函数是在原有列表的基础上进行添加,不需要额外的添加新的变量

示例如下:

names = ['Neo']
names.append('Jack')

print(names)

# 执行结果如下:
# >>> ['Neo', 'Jack']
a = [1, 2, 3]
b = [4, 5, 6]

print(a.append(1))
print(a)

a.append(b)
print(a)

# 执行结果如下:
# >>> [1, 2, 3, 1]
# >>> Node
# >>> [1, 2, 3, 1, [4, 5, 6]]		a.append(b) 会将整个列表当做一个元素添加进去

这里我们注意到 print(a.append(1)) 返回的是 Node ,这是为什么呢?

原因是append方法只是在恰当的位置修改原来的列表!也就是说,不是返回一个列表,而只是修改原来的列表,所以如果用 等式 输出的话,返回是None 。去掉返回值即可得到新的列表!

看下面两个示例:

# 原代码:

list= [1,2,3,4]
list= list.append(5)
print(list)

# 输出:
# >>> None

# 修改后代码

list= [1,2,3,4]
list.append(5)
print(list)

# 输出:
# >>> 1,2,3,4,5

insert() 函数

insert() 函数的功能:讲一个元素添加到列表的指定位置中

insert() 函数的用法:list.insert(index, new_item) , index为新的元素放在的新的位置(数字,下标位),new_item为填的新成员(元素)

insert() 函数与append()函数的区别:

  • insert() 函数可以将元素添加至任意的位置,而append()函数只能将元素添加之末尾。
  • 如果insert() 函数传入的位置不存在,则将新的元素添加至列表结尾

示例如下:

friuts = ['橘子', '香蕉', '火龙果']
friuts.insert(1, '苹果')

print(friuts)

# 执行结果如下:
# >>> ['橘子', '苹果', '香蕉', '火龙果']

friuts.insert(10, '鸭梨')

print(friuts)

# 执行结果如下:
# >>> '橘子', '苹果', '香蕉', '火龙果', '鸭梨']

count() 函数

count() 函数的功能:返回列表(元组)中某个成员(元素)的个数

count() 函数的用法:inttype = list.count(item) , item为想要查询的个数

count() 函数的注意事项:如果查询的成员(元素)不存在,则返回 0;列表只会检查完整元素是否存在需要计算的内容。

示例如下:

friuts = ['橘子', '香蕉', '火龙果', '香蕉', '苹果']
count = friuts.count('香蕉')
print('friuts 列表中香蕉出现的次数为 ' + str(count) + ' 次')

# 执行结果如下:
# >>> friuts 列表中香蕉出现的次数为 2 次

# 注意事项:如果查询的成员(元素)不存在,则返回 0;列表只会检查完整元素是否存在需要计算的内容。
friuts = ['橘子', '香蕉', '火龙果', '香蕉', '苹果']
count = friuts.count('香')
print('friuts 列表中\'香\'出现的次数为 ' + str(count) + ' 次')

# 执行结果如下:
# >>> friuts 列表中'香'出现的次数为 0 次

remove() 函数

remove() 函数的功能:删除列表中的某个元素

remove() 函数的用法:list_remove = list.remove(item) , item为想要删除的元素

remove() 函数的注意事项:

  • 如果删除的成员(元素)不存在,则会直接报错
  • 如果被删除的元素有多个,只会删除第一个
  • remove() 函数不会返回一个新的列表,而是在原有的列表中对成员(元素)执行删除动作

示例如下:

books = ['Python', 'Java', 'PHP']
books.remove('PHP')
print(books)

# 执行结果如下:
# >>> ['Python', 'Java']

Python内置函数 del

del 函数的功能:将变量完全删除(即踢打内存管家将变量从内存中删除)

示例如下:

books = ['Python', 'Java', 'PHP']
books.del()
print(books)

# 执行结果如下:
# >>> NameError: name 'books' is not defined. Did you mean: 'bool'?

reverse() 函数

reverse() 函数的功能:对当前列表顺序的反转

reverse() 函数的用法: list = list.reverse() , 无参数传递

示例如下:

books = ['Python', 'Java', 'PHP']
books.reverse()
print(books)

# 执行结果如下:
# >>> ['PHP', 'Java', 'Python']

sort() 函数

sort() 函数的功能:对当前列表按照一定的规律进行排序

sort() 函数的用法: list = list.sort(cmp=Node, key=Node, reverse=False)

  • cmp —> 可选参数,制定排序方案的函数
  • key —> 参数比较
  • reverse —> 排序规则,reverse = True (降序);reverse = False (升序),升序是默认状态
  • 这里的 cmp 和 key涉及到函数的知识点,后续的函数相关章节会详细介绍

sort() 函数的注意事项:列表中的元素类型必须相同,否则会报错,无法排序

示例如下:

books = ['Python', 'C', 'PHP', 'Go', 'C++', 'Java']
books.sort()
print(books)

# 执行结果如下:
# >>> ['C', 'C++', 'Go', 'Java', 'PHP', 'Python']

int_lists = [79, 6, 99, 46, 30]
int_lists.sort(reverse=True)
print(int_lists)

# 执行结果如下:
# >>> [99, 79, 46, 30, 6]

test_list = ['Hello', 666, 3.14, True]
test_list.sort()
print(test_list)

# 执行结果如下:
# >>> TypeError: '<' not supported between instances of 'int' and 'str'

clear() 函数

clear() 函数的功能:将当前列表的数据清空

clear() 函数的用法: list = list.clear() , 该函数无参数,无返回值

示例如下:

int_list = [79, 6, 99, 46, 30]
int_list.clear()
print(int_list)
print(len(int_list))

# 执行结果如下:
# >>> []
# >>> 0

思考一个问题:当我们使用 clear() 函数 清空一个列表时,和重新命名一个空的列表,哪个更节省资源?

其实相对来说使用 clear() 函数更节省资源;当我们创造一个变量的时候,会占用一个内存地址,使用该变量之后该变量地址则会被内存管家清空。再次使用时,又会生成新的内存地址,这个过程也是需要消耗资源的,只是因为速度处理的比较快我们无法感知罢了。

copy() 函数

copy() 函数的功能:将当前列表复制一份新的列表,虽然新的列表虽与旧的列表的内容相同,但是内存地址不同

copy() 函数的用法:list = list.copy() ,该函数无参数,返回一个与旧列表一模一样的列表

copy() 函数与 2次赋值 的区别:

  • 二次赋值的变量与原始变量共享相同的内存地址空间
  • copy() 函数创建的新列表与原始列表不是一个内存空间,新列表的变量值不因原列表变量的值的变更而变更
  • copy() 函数属于浅拷贝

示例如下:

old_list = [1, 2, 3, 4, 5]
new_list = old_list.copy()

print(new_list)
print("\'old_list\'内存地址为:" + str(id(old_list)), "\'new_list\'内存地址为:" + str(id(new_list)))

# 执行结果如下:
# >>> [1, 2, 3, 4, 5]
# >>> 'old_list'内存地址为:2175764462080 'new_list'内存地址为:2175767330496

copy() 函数与 2次赋值 的区别示例如下:

old_list = [1, 2, 3, 4, 5]
new_list_01 = old_list
new_list_02 = old_list.copy()

old_list.append(6)

print(new_list_01)
print(new_list_02)

# 执行结果如下:
# >>> [1, 2, 3, 4, 5, 6]
# >>> [1, 2, 3, 4, 5]

浅拷贝

什么是浅拷贝?

通俗的说,我们有一个列表 a,列表里的元素还是列表。当我们拷贝出新列表 b 后,无论是 a 还是 b 的内部的列表中的数据发生了变化后,相互之间都会受到影响。这就是浅拷贝。

浅拷贝示例如下:

old_list = [[1, 2, 3], [4, 5]]
new_list = old_list.copy()

old_list[1].append(6)
print(str(old_list), "--------," + str(new_list))

# 执行结果如下:
# >>> [[1, 2, 3], [4, 5, 6]] --------,[[1, 2, 3], [4, 5, 6]]

new_list[0].append(0)
print(str(old_list), "--------," + str(new_list))

# 执行结果如下:
# >>> [[1, 2, 3, 0], [4, 5, 6]] --------,[[1, 2, 3, 0], [4, 5, 6]]

深拷贝

什么是深拷贝?

深拷贝不仅对列表第一层进行了 copy ,对深层的数据也进行了 copy, 原始变量与新变量之间完全不共享数据,这就是深拷贝。

深拷贝示例如下:

old_list_deepcopy = [[1, 2, 4], [4, 5]]
new_list_deepcopy = copy.deepcopy(old_list_deepcopy)

old_list_deepcopy[1].append(6)
print(str(old_list_deepcopy), "--------," + str(new_list_deepcopy))

# 执行结果如下:
# >>> [[1, 2, 4], [4, 5, 6]] --------,[[1, 2, 4], [4, 5]]

new_list_deepcopy[0].append(0)
print(str(old_list_deepcopy), "--------," + str(new_list_deepcopy))

# 执行结果如下:
# >>> [[1, 2, 4], [4, 5, 6]] --------,[[1, 2, 4, 0], [4, 5]]

关于浅拷贝与深拷贝,我们再来看看对 数字类型 和 字符串类型又是怎样的,示例如下:

str_1 = "python"
print("str_1: ", str_1, id(str_1))

str_2 = str_1
print("str_2: ", str_2, id(str_2))

str_3 = copy.copy(str_2)
print("str_3: ", str_3, id(str_3))

str_4 = copy.deepcopy(str_1)
print("str_4: ", str_4, id(str_4))

# 执行结果如下:
# >>> str_1:  python 140222883317104
# >>> str_2:  python 140222883317104
# >>> str_3:  python 140222883317104
# >>> str_4:  python 140222883317104

可以看出,数字类型与字符串类型的浅拷贝与深拷贝是没有区别的,都是指向的同意内存地址,所以深拷贝与浅拷贝是没有意义的

extend() 函数

extend() 函数的功能:将其他列表或元组中的元素一次性的导入到当前列表中

extend() 函数的用法:list = list.extend(iterable) ,iterable 代表列表或元组,该函数无返回值。

示例如下:

students = ['Neo', 'Jack', 'Lily']
new_students = ('Lilei', 'Lily')
print(id(students))

# 执行结果如下:
# >>> 2032966498816

students.extend(new_students)

print(students)
print(id(students))

# 执行结果如下:
# >>> ['Neo', 'Jack', 'Lily', 'Lilei', 'Lily']        相同的成员(元素)并不会覆盖掉
# >>> 2032966498816

小练习:完成列表合并功能

例如给出两个列表[1, 3, 5, 7, 9]和[2, 4, 6, 8, 10],最终合并为[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

list_1 = [1, 3, 5, 7, 9]
list_2 = [2, 4, 6, 8, 10]
list_1.extend(list_2)
print(list_1)

# 执行结果如下:
# >>> [1, 3, 5, 7, 9, 2, 4, 6, 8, 10]

list_1.sort()
print(list_1)

# 执行结果如下:
# >>> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

以上就是Python学习之列表常用方法总结的详细内容,更多关于Python列表的资料请关注我们其它相关文章!

(0)

相关推荐

  • python列表的常用操作方法小结

    本文实例为大家了Python中列表(List)的详解操作方法,供大家参考,具体内容如下 1.创建列表.只要把逗号分隔的不同的数据项使用方括号括起来即可 List = ['wade','james','bosh','haslem'] 与字符串的索引一样,列表索引从0开始.列表可以进行截取.组合等 2.添加新的元素 List.append('allen') #方式一:向list结尾添加 参数object >>> a=[1,2,3,4] >>> a.append(5) >

  • Python操作列表的常用方法分享

    下面列出列表常用的方法操作列表以及小例子: 1.  Append     在列表末尾添加元素,需在列表末尾添加元素,需要注意几个点:     A. append中添加的参数是作为一个整体 复制代码 代码如下: >>> name = list("scott") >>> name ['s', 'c', 'o', 't', 't'] >>> name.append(list(" tiger")) >>>

  • Python操作列表常用方法实例小结【创建、遍历、统计、切片等】

    本文实例讲述了Python操作列表常用方法.分享给大家供大家参考,具体如下: 使用for循环,遍历整个列表 依次从列表中取出元素,存放到names变量中,并拼接打印 names = ['杜子腾','杜小月','杜小星','杜小阳','杜小花'] for name in names: print("你好啊"+" "+name+" "+"我们交个朋友吧") 运行结果: 你好啊 杜子腾 我们交个朋友吧 你好啊 杜小月 我们交个朋友吧

  • Python中最常用的操作列表的几种方法归纳

    这里介绍几个常用的列表操作 添加元素 添加元素使用列表的内置方法append number = [1, 2, 3, 4] number.append(5) # number = [1, 2, 3, 4, 5] number.append([6,7]) # number = [1, 2, 3, 4, 5, [6, 7]] number.append({'a':'b'}) # number = [1, 2, 3, 4, [6, 7], {'a', :'b'} 可以看到强大的python列表可以嵌套任

  • Python列表(list)常用操作方法小结

    常见列表对象操作方法: list.append(x) 把一个元素添加到链表的结尾,相当于 a[len(a):] = [x] . list.extend(L) 将一个给定列表中的所有元素都添加到另一个列表中,相当于 a[len(a):] = L . list.insert(i, x) 在指定位置插入一个元素.第一个参数是准备插入到其前面的那个元素的索引,例如 a.insert(0, x) 会插入到整个链表之前,而 a.insert(len(a), x) 相当于 a.append(x) . list

  • Python学习之列表常用方法总结

    目录 列表(元组)基本操作符回顾 len()函数在列表与元组上的使用 列表(元组)之间的累加与乘法 in和notin在列表(元组)中的用法 列表常用方法 append()函数 insert()函数 count()函数 remove()函数 Python内置函数del reverse()函数 sort()函数 clear()函数 copy()函数 extend()函数 小练习:完成列表合并功能 列表(元组)基本操作符回顾 len()函数在列表与元组上的使用 示例如下: names = ['Neo'

  • Python学习之字符串常用方法总结

    目录 什么是对象 Python万物皆是对象 字符串的索引 索引[] 索引[:] 字符串的常用方法 find()函数与index()函数 startswith()函数与endswith()函数 capitalize()函数 casefold()函数与lower()函数 upper()函数 swapcase()函数 zfill()函数 count()函数 strip()函数 replace()函数 join()函数 split()函数 字符串中返回bool类型的函数集合 isspace()函数 is

  • python学习之列表的运用

    目录 创建列表 常用函数 常用方法 列表推导式 列表推导式的嵌套 字符串的文本解析方法 深浅复制 浅复制 深复制 创建列表 list( ) # 创造列表 list(可迭代对象) # 将可迭代对象创造成列表 切片索引:列表[a:b] 切片索引赋值:列表[切片] = 可迭代对象 L = [2,3,4] L[0:1] = [23,34] #把L中的第一个换成[23,34] print(L) # [23, 34, 3, 4] L[2:] = [3.3,4.4,5.5] #[23, 34, 3.3, 4.

  • Python学习之列表和元组的使用详解

    目录 列表和元组简介 列表学习要点 列表的声明语法 列表的读取 列表操作 列表元素的修改和删除 列表元素合并 列表元素顺序变化 元组学习要点 元组基本知识 元组的基本操作 列表和元组简介 如果说在 Python 语言中找一个最优秀的数据类型,那无疑是列表,如果要在推荐一个,那我选择元组,本篇博客我们的重心会放在列表上,元组可以看成不能被修改的列表,所以作为赠品 进行学习即可. 列表是一种非常灵活的数据结构,可以弥补前文字符串类型的很多不足. 正式学习前,还需要记住两个英文单词,列表(list),

  • Python学习笔记之列表和成员运算符及列表相关方法详解

    本文实例讲述了Python学习笔记之列表和成员运算符及列表相关方法.分享给大家供大家参考,具体如下: 列表和成员运算符 列表可以包含我们到目前为止所学的任何数据类型并且可以混合到一起. lst_of_random_things = [1, 3.4, 'a string', True] # 这是一个包含 4 个不同类型元素的列表 print(lst_of_random_things[0]) # 1 获取上述列表的第一个值和最后一个值 print(lst_of_random_things[0]) #

  • Python学习之字典的常用方法总结

    目录 字典添加与修改方法 利用[]处理 字典的内置函数update 字典的内置函数setdefault 关于字典的注意事项再强调 尝试做一个小练习 获取字典的key与value 字典中的values函数 字典中key的获取 字典的删除与拷贝 clear函数 pop函数 del函数 copy函数 in与notin在字典中的用法 字典中的popitem函数 字典添加与修改方法 利用 [ ] 处理 看到 [] 我们就会想到列表和元组中利用中括号获取成员(元素)的索引,或者是利用索引对成员(元素)进行修

  • Python学习之集合的常用方法总结

    目录 什么是集合? 集合与列表的区别 集合的创建方法 集合的增删改 add函数 update函数 remove函数 clear函数 del方法删除集合 关于集合的重要说明 获取两个集合交.并.差集的函数 difference()函数 intersection()函数 union()函数 判断两个集合中是否存在相同的元素 isdisjoint()函数 拓展-集合的‘&.|.-运算符’ 什么是集合? 集合并不是一种数据处理类型,而是一种中间类型. 集合(set)是一个无序.不重复的元素序列 经常被用

  • Python学习笔记之列表推导式实例分析

    本文实例讲述了Python学习笔记之列表推导式.分享给大家供大家参考,具体如下: 列表推导式 列表推导式可以快速简练地创建列表 之前的复杂写法: capitalized_cities = [] for city in cities: capitalized_cities.append(city.title()) 简化后的写法: capitalized_cities = [city.title() for city in cities] 由此可见:借助列表推导式,我们可以使用 for 循环用一步创

  • python 列表常用方法超详细梳理总结

    目录 列表是什么? 列表常用方法 1.append() 2.clear() 3.copy() 4.count() 5.extend() 6.index() 7.insert() 8.reverse() 9.remove() 10.pop() 11.sort() 列表是什么? 列表由一系列特定顺序排列的元素组成,你可以创建包含字母表中的所有字母.数字0~9.所有家庭成员姓名的列表等等,也可以将任何东西放入列表中,其中元素之间可以没有任何关系,鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(

随机推荐