gpt4 book ai didi

python - 在python中寻找更好的数据结构

转载 作者:太空宇宙 更新时间:2023-11-04 07:07:37 25 4
gpt4 key购买 nike

我有一些要存储的基本数据,我正在寻找比我想出的更好的解决方案。我有多个数据条目,每个条目有 4 个字段,name,url,currYear,availYears

我可以像这样用一个简单的数组来解决这个问题:

data = [
['test-name', ['http://example.com', '2015', '2015,2014']]
['next-name', ['http://example.org', '1999', '1999']]
]

但是当尝试访问每个数组中的数据时,这会变得困惑。我最终得到了这样的 for 循环

for each in data:
name = each[0]
url = each[1][0]
currYear = each[1][1]

我更喜欢做一些类似于字典的事情,我可以在其中通过键名引用我想要的内容。这不是有效的语法,但希望它能说明问题。

data = {'entry1': {'name': 'test-name'}, {'url': 'http://example.com'}, {'currYear': '2015'}, {'availYears': '2015,2014'}}

然后我可以提取 entryX 的 url 数据。

编辑:几个很好的回应。我决定继续创建一个类,因为 1) 它满足我的需要 2) 通过分离功能帮助清理代码,以及 3) 了解包、模块和类与 Java(我更熟悉)相比如何工作。除了创建类之外,我还创建了 getter 和 setter。

class SchoolSiteData(object):
def __init__(self, name, url, currYear, availYears):
self.name = name
self.url = url
self.currYear = currYear
self.availYears = availYears

def getName(self):
return self.name
def getURL(self):
return self.url
def getCurrYear(self):
return self.currYear
def getAvailYears(self):
return self.availYears

def setName(self, name):
self.name = name
def setURL(self, url):
self.url = url
def setCurrYear(self, currYear):
self.currYear = currYear
def setAvailYears(self, availYears):
self.availYears = availYears

最佳答案

类可以使它更易于使用:例如:

    class Entry(object):
def __init__(self, name, url, currYear, availYears):
self.name = name
self.url = url
self.currYear = currYear
self.availYears = availYears

entry1 = Entry('test-name', 'http://example.com', '2015', '2015,2014')
entry2 = Entry('next-name', 'http://example.org', '1999', '1999')

data = [entry1, entry2]

for entry in data:
print entry.name
print entry.url
print entry.currYear
print entry.availYears
print

关于python - 在python中寻找更好的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33533649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com