我如何从这个二维列表中创建一个对象,我应该使用不同的数据结构吗?
How do I create an object out of this 2d list and should I use a different data structure?
所以我有一个二维列表,如下所示:
values =
[['vatlinnas1', '2443632E4D9AB666', 'vatlinnas1_2443632E4D9AB666', 'server', 'vatlinnas1', 'Sat-Oct-26-16:42:19-2019'],
['vatlinnas2', '2443632E4D9AB667', 'vatlinnas2_2443632E4D9AB667', 'server', 'vatlinnas2', 'Thu-May-06-15:35:50-2021'],
['vattest01', '25000019C8AC330E726F00DDB0000000019C8', 'vattest01_25000019C8AC330E726F00DDB0000000019C8', 'server', 'vattest01', 'Wed-Mar-08-19:49:08-2023']]```
数据顺序为:常用名、序列号、cert_name、类型(始终为“服务器”)、ca、有效期
我对如何使用这些数据来填充对象感到困惑。我实际上不确定我是否应该使用字典、class 或其他东西。理想情况下,我想要我的新
数据结构看起来像这样(如下),我应该能够在循环中或通过某种方法生成更多这个 class/object 的实例。
class Item:
def __init__(self, common_name, serial, ca, cert_name, thetype, ca, expirationDate):
self.common_name = common_name
self.serial = serial
self.cert_name = cert_name
self.thetype = "SERVER"
self.ca = "ALWAYS_THE_SAME"
self.expirationDate = expirationDate
我这里有一个循环,但我不确定如何生成这个循环的更多实例class
for i in range(len(values)):
for x in range(len(values[i])):
print("i i : " + str( values[i][x]))
也许 dataclass
?
from dataclasses import dataclass
values = [
['vatlinnas1', '2443632E4D9AB666', 'vatlinnas1_2443632E4D9AB666', 'server', 'vatlinnas1', 'Sat-Oct-26-16:42:19-2019'],
['vatlinnas2', '2443632E4D9AB667', 'vatlinnas2_2443632E4D9AB667', 'server', 'vatlinnas2', 'Thu-May-06-15:35:50-2021'],
['vattest01', '25000019C8AC330E726F00DDB0000000019C8', 'vattest01_25000019C8AC330E726F00DDB0000000019C8', 'server', 'vattest01', 'Wed-Mar-08-19:49:08-2023']
]
@dataclass
class Thingy:
common_name: str
serial: str
cert_name: str
thingy_type: str
ca: str
expiration_date: str
thingies = [Thingy(*fields) for fields in values]
所以我有一个二维列表,如下所示:
values =
[['vatlinnas1', '2443632E4D9AB666', 'vatlinnas1_2443632E4D9AB666', 'server', 'vatlinnas1', 'Sat-Oct-26-16:42:19-2019'],
['vatlinnas2', '2443632E4D9AB667', 'vatlinnas2_2443632E4D9AB667', 'server', 'vatlinnas2', 'Thu-May-06-15:35:50-2021'],
['vattest01', '25000019C8AC330E726F00DDB0000000019C8', 'vattest01_25000019C8AC330E726F00DDB0000000019C8', 'server', 'vattest01', 'Wed-Mar-08-19:49:08-2023']]```
数据顺序为:常用名、序列号、cert_name、类型(始终为“服务器”)、ca、有效期
我对如何使用这些数据来填充对象感到困惑。我实际上不确定我是否应该使用字典、class 或其他东西。理想情况下,我想要我的新 数据结构看起来像这样(如下),我应该能够在循环中或通过某种方法生成更多这个 class/object 的实例。
class Item:
def __init__(self, common_name, serial, ca, cert_name, thetype, ca, expirationDate):
self.common_name = common_name
self.serial = serial
self.cert_name = cert_name
self.thetype = "SERVER"
self.ca = "ALWAYS_THE_SAME"
self.expirationDate = expirationDate
我这里有一个循环,但我不确定如何生成这个循环的更多实例class
for i in range(len(values)):
for x in range(len(values[i])):
print("i i : " + str( values[i][x]))
也许 dataclass
?
from dataclasses import dataclass
values = [
['vatlinnas1', '2443632E4D9AB666', 'vatlinnas1_2443632E4D9AB666', 'server', 'vatlinnas1', 'Sat-Oct-26-16:42:19-2019'],
['vatlinnas2', '2443632E4D9AB667', 'vatlinnas2_2443632E4D9AB667', 'server', 'vatlinnas2', 'Thu-May-06-15:35:50-2021'],
['vattest01', '25000019C8AC330E726F00DDB0000000019C8', 'vattest01_25000019C8AC330E726F00DDB0000000019C8', 'server', 'vattest01', 'Wed-Mar-08-19:49:08-2023']
]
@dataclass
class Thingy:
common_name: str
serial: str
cert_name: str
thingy_type: str
ca: str
expiration_date: str
thingies = [Thingy(*fields) for fields in values]