Python 编程 | 连载 07 - 列表与元组操作

简介: Python 编程 | 连载 07 - 列表与元组操作

一、列表 List 与 元组 Tuple 操作

len 函数

len() 函数可以作用在列表和元组中,返回列表和元组中元素的个数;len() 函数作用在 None、bool 和数字类型会报错。

mix_list = [1, 'stark', [4, 6], ('python', 'java'), {'name': 'thor', 'age': 1500}]
mix_list_length = len(mix_list)
print(mix_list_length)
dict_type = {
    'name': 'thor',
    'from': 'asgard'
}
print(len(dict_type))
string_str = 'HelloPython'
print(len(string_str))
复制代码

image.png

string_str = 'HelloPython'
print(len(string_str))
bool_res = string_str.istitle()
print(len(bool_res))
复制代码

image.png

bool类型调用len函数报错,bool类型没有长度

none_type = None
print(len(none_type))
复制代码

image.png

None 类型没有长度, len() 函数报错

int_type = 1234
print(len(int_type))
复制代码

image.png

整型类型也没有长度

in、not in函数

  • in是判断某个成员是否在该数据结构中
  • not in 就是判断成员不在该数据结构中
heros = ['Thanos', 'Captain America', 'Iron Man', 'Thor', 'Doctor Strange', 'Star Lord']
is_in = 'Spider Man' in heros
print(is_in)
not_in = 'Thanos' in heros
print(not_in)
复制代码

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

列表之间或者元组之间可以进行累加操作,累加操作返回一个新的列表或者元组;列表或者元组可以与整型进行乘法操作并返回一个新的列表或者元组

heros = ('stark', 'steven', 'peter')
heros_add = heros + heros
print(heros_add)
print('长度为:%d'%(len(heros_add)))
heros_time = heros * 10
print(heros_time)
print('长度为:%d'%(len(heros_time)))
复制代码

image.png

heros = ('stark', 'steven', 'peter')
# 元组的 += 和 *= 操作
heros += ('banner',)
print(heros)
heros *= 3
print(heros)
复制代码

image.png

heros = ('stark', 'steven', 'peter')
# 列表的 += 和 *= 操作
heros_list = list(heros)
heros_list += ['loki']
print(heros_list)
heros_list *= 3
print(heros_list)
复制代码

image.png

append 函数

append 函数可以将一个元素添加到当前列表中,没有返回值;append 会将元素添加到列表的末尾;需要注意的是 append 会在原有列表的基础上修改,不会生成新的列表

创建 list_append.py

heros = ['stark', 'steven', 'peter']
print(id(heros))
heros.append('loki')
print(heros)
print(id(heros))
复制代码

image.png

执行 append 操作后,列表元素变化了,内存地址没有变化,说明append是在原有列表基础上做的修改,同时也说明了列表是可变数据类型

mix_list = []
num_list = [1]
num_tuple = (1,)
dict_type = {'name': 'stark', 'age': 40}
mix_list.append(num_list)
mix_list.append(num_tuple)
mix_list.append(dict_type)
print(mix_list)
复制代码

image.png

mix_list = []
num_list = [1]
num_tuple = (1,)
dict_type = {'name': 'stark', 'age': 40}
mix_list.append(num_tuple, num_list, dict_type)
print(mix_list)
复制代码

image.png

append函数一次只能添加一个元素,也就是只能接收一个参数,传入多个参数会报错

insert 插入函数

insert函数可以将元素插入到当前列表中指定的位置上,insert接收两个参数,分别是要添加的元素和要添加的位置

insert与append的区别:

  • append只能添加到列表的结尾,insert可以插入到列表中的任意位置
  • insert不传插入的位置,默认添加到列表的结尾
  • 字符串、列表、元组的位置都是0开始从左往右依次递增的
student_list = [
    {'name': 'stark', 'gender': 'M'},
    {'name': 'peter', 'gender': 'M'},
]
loki = {'name': 'loki', 'gender': 'M'}
student_list.insert(1, loki)
print(student_list)
wanda = {'name': 'wanda', 'gender': 'F'}
student_list.insert(8, wanda)
print(student_list)
复制代码

image.png

count 函数

count函数可以返回指定元素在列表中的个数,接收一个参数,返回一个整型类型;如果要查询的元素不存在于列表中,则返回为0;count函数只会检查完整元素是否存在列表中以及个数

# 在列表中使用count函数
pets = ['皮皮', '小六', '猪猪', '团团', '小墨点', '猪猪', '小六']
name_01 = '猪猪'
count_01 = pets.count(name_01)
print('有%s只宠物的名字叫%s' % (count_01, name_01))
name_02 = '猪'
count_02 = pets.count(name_02)
print('有{}只宠物的名字叫{}'.format(count_02, name_02))
复制代码

image.png

判断列表中字典的个数

pets = [
    {'name': '猪猪'},
    {'name': '皮皮'},
    {'name': '小六'},
    {'name': '猪猪'}
]
name_01 = {'name': '猪猪'}
count_01 = pets.count(name_01)
print('有%s只宠物的名字叫%s' % (count_01, name_01))
name_02 = {'name': '猪'}
count_02 = pets.count(name_02)
print('有{}只宠物的名字叫{}'.format(count_02, name_02))
复制代码

image.png

元组中的 count 函数

pets = ('猪猪', '皮皮', '小六', '猪猪')
print('猪猪有{:d}只'.format(pets.count('猪猪')))
复制代码

image.png

remove 函数与 del 函数

remove 函数可以删除列表中的某个元素,需要传入一个参数既要删除的元素;如果传入的元素在列表中不存在则直接报错,如果列表中被删除的元素有多个,则只删除从左往右数第一个;remove 在原列表基础上进行操作

del 函数是 Python的内置函数,可以将变量从内存中完全删除

pets = ['猪猪', '皮皮', '小六', '猪猪']
print('猪猪有{:d}只'.format(pets.count('猪猪')))
pets.remove('猪猪')
print('猪猪还剩{:d}只'.format(pets.count('猪猪')))
del pets
print(pets)
复制代码

image.png

执行完 del 函数后,变量无法被识别,说明变量已经被完全从内存中删除

reverse 函数

reverse函数的作用是可以对当前列表的顺序进行反转,该函数不需要传递参数,并且是在原列表基础上执行的反转

pets = ['猪猪', '皮皮', '小六']
print('反转前的列表顺序为:{}'.format(pets))
pets.reverse()
print('反转后的列表顺序为:%s' % pets)
复制代码

image.png


相关文章
|
5天前
|
存储 数据挖掘 开发者
Python编程入门:从零到英雄
在这篇文章中,我们将一起踏上Python编程的奇幻之旅。无论你是编程新手,还是希望拓展技能的开发者,本教程都将为你提供一条清晰的道路,引导你从基础语法走向实际应用。通过精心设计的代码示例和练习,你将学会如何用Python解决实际问题,并准备好迎接更复杂的编程挑战。让我们一起探索这个强大的语言,开启你的编程生涯吧!
|
11天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
2天前
|
数据采集 存储 数据处理
Python中的多线程编程及其在数据处理中的应用
本文深入探讨了Python中多线程编程的概念、原理和实现方法,并详细介绍了其在数据处理领域的应用。通过对比单线程与多线程的性能差异,展示了多线程编程在提升程序运行效率方面的显著优势。文章还提供了实际案例,帮助读者更好地理解和掌握多线程编程技术。
|
5天前
|
存储 人工智能 数据挖掘
Python编程入门:打造你的第一个程序
本文旨在为初学者提供Python编程的初步指导,通过介绍Python语言的基础概念、开发环境的搭建以及一个简单的代码示例,帮助读者快速入门。文章将引导你理解编程思维,学会如何编写、运行和调试Python代码,从而开启编程之旅。
27 2
|
6天前
|
存储 Python
Python编程入门:理解基础语法与编写简单程序
本文旨在为初学者提供一个关于如何开始使用Python编程语言的指南。我们将从安装Python环境开始,逐步介绍变量、数据类型、控制结构、函数和模块等基本概念。通过实例演示和练习,读者将学会如何编写简单的Python程序,并了解如何解决常见的编程问题。文章最后将提供一些资源,以供进一步学习和实践。
16 1
|
9天前
|
存储 网络协议 IDE
从零起步学习Python编程
从零起步学习Python编程
|
7天前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
17 0
|
5月前
|
存储 NoSQL Redis
Python—操作redis的一些心得
Python—操作redis的一些心得
25 0
|
存储 NoSQL 数据库
|
存储 NoSQL Redis
下一篇
无影云桌面