广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中创建对象列表的实现示例
  • 922
分享到

Python中创建对象列表的实现示例

Python创建对象列表 2023-03-14 11:03:58 922人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

python 中要创建对象列表: 声明一个新变量并将其初始化为一个空列表。使用 for 循环迭代范围对象。实例化一个类以在每次迭代时创建一个对象。将每个对象附加到列表中。 class

python 中要创建对象列表:

  • 声明一个新变量并将其初始化为一个空列表。
  • 使用 for 循环迭代范围对象。
  • 实例化一个类以在每次迭代时创建一个对象。
  • 将每个对象附加到列表中。
class Employee():
    def __init__(self, id):
        self.id = id


list_of_objects = []

for i in range(5):
    list_of_objects.append(Employee(i))

print(list_of_objects)

for obj in list_of_objects:
    print(obj.id)  # ?️ 0, 1, 2, 3, 4

我们使用 range() 类来获取可以迭代的范围对象。

range 类通常用于在 for 循环中循环特定次数。

print(list(range(5)))  # ?️ [0, 1, 2, 3, 4]
print(list(range(1, 6)))  # ?️ [1, 2, 3, 4, 5]

如果我们需要从特定数字开始,请将 2 个参数(开始和停止)传递给 range() 类。

在每次迭代中,我们使用当前数字创建 Employee 类的实例并将结果附加到列表中。

list.append() 方法将一个项目添加到列表的末尾。

可以使用单个 id 参数实例化 Employee 类,但根据您的用例,您在创建对象时可能必须传递更多参数。

如果我们需要更改列表中对象的 print() 函数的输出,请在类中定义 __repr__() 方法。

class Employee():
    def __init__(self, id):
        self.id = id

    def __repr__(self):
        return str(self.id)


list_of_objects = []

for i in range(5):
    list_of_objects.append(Employee(i))

# ?️ [0, 1, 2, 3, 4]
print(list_of_objects)

我们使用每个对象的 id 作为 print() 函数的输出。

请注意 ,__repr__() 方法必须返回一个字符串

如果我们的类没有在其 __init__() 方法中定义所有必要的属性,请使用 setattr() 函数为每个对象添加属性。

class Employee():
    def __init__(self, id):
        self.id = id

    def __repr__(self):
        return str(self.id)


list_of_objects = []

for i in range(3):
    obj = Employee(i)

    setattr(obj, 'topic', 'Python')
    setattr(obj, 'salary', 100)

    list_of_objects.append(obj)

# ?️ [0, 1, 2]
print(list_of_objects)

for obj in list_of_objects:
    print(getattr(obj, 'topic'))
    print(getattr(obj, 'salary'))

setattr 函数向对象添加属性。

该函数采用以下 3 个参数:

  • object 添加属性的对象
  • name 属性的名称
  • value 属性的值

名称字符串可以是现有的或新的属性。

getattr 函数返回对象提供的属性的值。

该函数将对象、属性名称和对象上不存在该属性时的默认值作为参数。

或者,我们可以使用列表推导。

使用列表理解创建对象列表

Python 中要创建对象列表:

  • 使用列表推导来迭代 range 对象。
  • 在每次迭代中,实例化一个类以创建一个对象。
  • 新列表将包含所有新创建的对象。
class Employee():
    def __init__(self, id):
        self.id = id

    def __repr__(self):
        return str(self.id)


list_of_objects = [
    Employee(i) for i in range(1, 6)
]

print(list_of_objects)  # ?️ [1, 2, 3, 4, 5]

for obj in list_of_objects:
    print(obj.id)  # 1, 2, 3, 4, 5

我们使用列表推导来迭代长度为 5 的范围对象。

列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们实例化 Employee 类以创建一个对象并返回结果。

新列表包含所有新创建的对象。

选择哪种方法是个人喜好的问题。

列表推导非常直接且易于阅读,但如果您需要向每个对象添加额外的属性或者创建过程更加复杂,则必须使用 for 循环。

在 Python 中将项目附加到类中的列表

将项目附加到类中的列表:

在类的 __init__() 方法中初始化列表。

定义一个方法,它接受一个或多个项目并将它们附加到列表中。

class Employee():

    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        self.tasks = []  # ?️ initialize list

    def add_task(self, task):
        self.tasks.append(task)

        return self.tasks


bob = Employee('Jiyik', 100)

bob.add_task('develop')
bob.add_task('ship')

print(bob.tasks)  # ?️ ['develop', 'ship']

我们在类的 __init__() 方法中将任务列表初始化为实例变量。

实例变量对于我们通过实例化类创建的每个实例都是唯一的。

class Employee():

    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        self.tasks = []  # ?️ initialize list

    def add_task(self, task):
        self.tasks.append(task)

        return self.tasks


alice = Employee('Fql', 1000)
alice.add_task('design')
alice.add_task('test')
print(alice.tasks)  # ?️ ['design', 'test']

bob = Employee('Jiyik', 100)
bob.add_task('develop')
bob.add_task('ship')
print(bob.tasks)  # ?️ ['develop', 'ship']

这两个实例有单独的任务列表。

我们还可以使用类变量而不是实例变量。

类变量由类的所有实例共享。

class Employee():
    # ?️ class variable
    tasks = []

    def __init__(self, name, salary):
        self.name = name
        self.salary = salary

    @claSSMethod
    def add_task(cls, task):
        cls.tasks.append(task)

        return cls.tasks


Employee.add_task('develop')
Employee.add_task('ship')

print(Employee.tasks)  # ?️ ['develop', 'ship']

alice = Employee('Fql', 1000)
print(alice.tasks)  # ?️ ['develop', 'ship']

bob = Employee('Jiyik', 100)
print(bob.tasks)  # ?️ ['develop', 'ship']

tasks 变量是一个类变量,所以它被所有实例共享。

我们将 add_task() 方法标记为类方法。 传递的第一个参数类方法是类。

list.append() 方法将一个项目添加到列表的末尾。

但是,我们可能经常需要做的事情是将多个项目附加到列表中。

我们可以使用 list.extend() 方法将可迭代对象的项目附加到列表中。

class Employee():

    def __init__(self, name, salary):
        # ?️ 实例变量(每个实例都是唯一的)
        self.name = name
        self.salary = salary
        self.tasks = []  # ?️ 初始化列表

    def add_tasks(self, iterable_of_tasks):
        self.tasks.extend(iterable_of_tasks)

        return self.tasks


bob = Employee('Jiyik', 100)

bob.add_tasks(['develop', 'test', 'ship'])

print(bob.tasks)  # ?️ ['develop', 'test', 'ship']

我们使用 list.extend() 方法将多个值附加到任务列表。

list.extend 方法采用可迭代对象(例如列表或元组)并通过附加可迭代对象中的所有项目来扩展列表。

到此这篇关于Python中创建对象列表的实现示例的文章就介绍到这了,更多相关Python 创建对象列表内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python中创建对象列表的实现示例

本文链接: https://www.lsjlt.com/news/199692.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中创建对象列表的实现示例
    Python 中要创建对象列表: 声明一个新变量并将其初始化为一个空列表。使用 for 循环迭代范围对象。实例化一个类以在每次迭代时创建一个对象。将每个对象附加到列表中。 class...
    99+
    2023-03-14
    Python 创建对象列表
  • Python中如何创建对象列表
    这篇文章主要讲解了“Python中如何创建对象列表”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中如何创建对象列表”吧!Python 中要创建对象列表:声明一个新变量并将其初始化...
    99+
    2023-07-05
  • VB.NET对象列表的用法示例
    这篇文章主要介绍了VB.NET对象列表的用法示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。VB.NET对象列表***步是要创建一个同用列表。你可以从多种途径获取数据,但是...
    99+
    2023-06-17
  • VB.NET对象列表的示例分析
    小编给大家分享一下VB.NET对象列表的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第一步步是要创建一个同用列表,你可以从多种途径获取数据,但是最简单的...
    99+
    2023-06-17
  • javascript创建对象的示例分析
    这篇文章给大家分享的是有关javascript创建对象的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 创建方法:1、使用“var 对象名={...
    99+
    2022-10-19
  • python3 面向对象的创建及实例的属
    什么是对象:  对象是指现实中的物体或实体。什么是面向对象:  把一切看成是对象(实例),用各种对象之间的关系来描述事务对象的特征:  对象有很多属性(名词)  对象有很多自己的行为(动作)什么是类:  拥有相同属性和行为的对象分为一组,即...
    99+
    2023-01-31
    面向对象 实例
  • Python中的类对象示例详解
    抽象特点 Python 一切皆对象,基于此概念,对 类 class 有以下特点: 类与实例的属性 类对象创建可选择定义类属性,创建实例对象时,实例属性自动执行类的__init__方...
    99+
    2022-11-12
  • python实现提取jira bug列表的方法示例
    目录公司要求内部每日整理jira bug发邮件,手动执行了一段时间,想着用自动化的方式实现,故用了3天的时间做出了此脚本。 第一版基础版 # -*- coding:utf-8 -...
    99+
    2022-11-12
  • Python面向对象中类和对象的示例分析
    这篇文章主要介绍了Python面向对象中类和对象的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是面向对象编程?我们是不是听过面向过程,拿来放在一起对比就比较好理...
    99+
    2023-06-22
  • Android创建文件实现对文件监听示例
    代码如下:public class FileObserverTest extends Activity{@Overrideprotected void onCreate(Bu...
    99+
    2022-06-06
    示例 监听 Android
  • java链式创建json对象的实现
    目录1、假设我们要创建一个json对象格式如下:2、往常创建JSON语法:3、解决方案——链式创建JSON:4、实现多级JSON5、YtJSONObject类...
    99+
    2022-11-13
  • python中列表索引的示例分析
    这篇文章给大家分享的是有关python中列表索引的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式...
    99+
    2023-06-14
  • python列表中缓存的示例分析
    这篇文章将为大家详细讲解有关python列表中缓存的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、说明当删除一个列表之后,会将该列表中槽位引用的数据项地址全部清空。并且将该列表的引用存放至一个...
    99+
    2023-06-15
  • python读取文件列表并排序的实现示例
    目录一、 修改前的程序代码二、 修改前的程序的执行结果三、 修改后的程序代码四、 修改后的程序执行结果一、 修改前的程序代码 #!/usr/bin/python # -*- codi...
    99+
    2022-11-11
  • python中IO流和对象序列化实例分析
    这篇文章主要介绍了python中IO流和对象序列化实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中IO流和对象序列化实例分析文章都会有所收获,下面我们一起来看看吧。一.IO流的操作(1).什...
    99+
    2023-06-29
  • Python中列表的创建方法有哪些
    Python中列表的创建方法有以下几种:1. 使用方括号 [] 来创建一个空列表:pythonmy_list = []2. 使用方括...
    99+
    2023-10-20
    Python
  • C++实现哈希散列表的示例
    散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这...
    99+
    2022-11-13
  • Java spring 通过注解方式创建对象的示例详解
    java spring 通过注解方式创建对象 首先 我们要搞清楚一个基础概念什么是注解? 注解可以说是代码里的一些特殊标记。格式是 @() 里面可以有 属性=属性的值 可以有多个属性...
    99+
    2023-02-08
    spring注解创建对象 java spring注解方式创建对象 java spring注解 Spring注解开发
  • python实现合并两个有序列表的示例代码
    题目描述 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 LeetCode原题地址:https://leetcode-cn.com/pr...
    99+
    2022-11-12
  • 在python中创建表格的两种方法实例
    目录日常拉呱:创建表格一般有两种方法:一:通过导入xlwt创建二:通过导入csv库来创建1.写入数据2.读取数据总结日常拉呱: 最近在学习爬虫模拟登陆各个软件,老师留有作业,模拟登录...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作