数据结构选择问题

时间:2015-06-17 19:53:32

标签: python list python-2.7 data-structures tuples

我是Python的新手。我需要一个包含两个元素元组的数据结构:datefile path。我需要能够不时地改变它们的值,因此我不确定元组是一个好主意,因为它是不可变的。每次我需要更改它时,我必须创建一个新的元组并引用它,而不是真正改变它的值;所以,我们可能会遇到一个内存问题:分配了很多元组。

另一方面,我想到了一个列表,但列表不是固定大小的,因此用户可能会输入2个以上的元素,这是不理想的。

最后,我还想以合理的名义引用每个元素;也就是说,而不是list[0](映射到日期)和list[1](映射到文件路径),我更喜欢可读的解决方案,例如PHP中的关联数组:

tuple = array()
tuple['Date'] = "12.6.15"
tuple['FilePath] = "C:\somewhere\only\we\know"

处理这种情况的Pythonic方法是什么?

2 个答案:

答案 0 :(得分:3)

听起来像是在描述字典(dict

# Creating a dict
>>> d = {'Date': "12.6.15", 'FilePath': "C:\somewhere\only\we\know"}

# Accessing a value based on a key
>>> d['Date']
'12.6.15'

# Changing the value associated with that key
>>> d['Date'] = '12.15.15'

# Displaying the representation of the updated dict
>>> d
{'FilePath': 'C:\\somewhere\\only\\we\\know', 'Date': '12.15.15'}

答案 1 :(得分:2)

为什么不使用字典。字典允许您将“键”映射到“值”。 例如,您可以像这样定义字典:

dict = { 'Date' : "12.6.15", 'Filepath' : "C:\somewhere\only\we\know"}

你可以像这样轻松改变它:

dict['Date'] = 'newDate'