Python-结构体数组

文章目录

前言

在生成结构数组前先创建一个class类的结构体,再定义一个列表lis来作为结构体数组,
然后使用append方法将对应的类添加进去作为其元素
添加结束后就可以使用[列表名][索引].成员属性来访问结构体数组指定结构体指定属性了。

相关介绍

python实现结构体数组(初始化并赋值)

Python笔记-自定义结构体

代码

在这里插入图片描述

class student: #结构体
    def __init__(self):
        self.name = ''
        self.number = 0
lis = [] #结构体数组
lis.append(student()) #添加一个结构体
lis.append(student()) #添加第二个结构体

#访问结构体数组中,第一个结构体
lis[0].name = 'fox1'
lis[0].number = 11
print(lis[0].name,lis[0].number)
#访问结构体数组中,第二个结构体
lis[1].name = 'fox2'
lis[1].number = 22
print(lis[1].name,lis[1].number)

Python中,没有内置的结构体数组的数据类型。然而,我们可以使用第三方库如`ctypes`来创建结构体数组。下面是一个简单的示例,展示了如何使用`ctypes`库创建和访问结构体数组的元素: ``` import ctypes # 定义结构体 class MyStruct(ctypes.Structure): _fields_ = [ ("field1", ctypes.c_int), ("field2", ctypes.c_float), ("field3", ctypes.c_char), ] # 创建结构体数组 array = (MyStruct * 5)() # 设置数组中的元素值 array.field1 = 1 array.field2 = 2.0 array.field3 = 'a' array.field1 = 3 array.field2 = 4.0 array.field3 = 'b' # 访问数组中的元素值 print(array.field1) # 输出 1 print(array.field2) # 输出 2.0 print(array.field3) # 输出 'a' print(array.field1) # 输出 3 print(array.field2) # 输出 4.0 print(array.field3) # 输出 'b' ``` 在这个示例中,我们首先定义了一个名为`MyStruct`的结构体,它包含了三个字段`field1`,`field2`和`field3`。然后,我们使用`(MyStruct * 5)`创建了一个长度为5的结构体数组。我们可以通过给定的下标来访问或修改数组中的元素,并打印出对应的字段值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python数据结构-数组](https://blog.csdn.net/Awjein/article/details/128261114)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [xml文件批量处理python脚本](https://download.csdn.net/download/caoxinri123/88239057)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦之海岛

创作不易,狐狸叹气

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值