2015-06-17 2 views
0

Я новичок в Python. Мне нужна структура данных, чтобы содержать кортеж из двух элементов: date и file path. Мне нужно время от времени менять свои значения, поэтому я не уверен, что кортеж - хорошая идея, так как она неизменна. Каждый раз, когда мне нужно его менять, я должен создать новый кортеж и ссылаться на него вместо того, чтобы действительно изменять его значения; поэтому у нас может быть проблема с памятью: много кортежей выделено.Вопрос выбора структуры данных

С другой стороны, я думал о списке, но список не имеет фиксированного размера, поэтому пользователь может потенциально ввести более двух элементов, что не является идеальным.

Наконец, я хотел бы также обратиться к каждому элементу с разумным именем; то есть, вместо того, чтобы list[0] (который отображает дату) и list[1] (который отображает путь к файлу), я бы предпочли читаемое решение, такие как ассоциативные массивы в PHP:

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

Каков путь Pythonic чтобы справиться с такой ситуацией?

+0

Я довольно уверен, что вы хотите 'dict'. – Brien

ответ

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'} 
+0

Но разве словарь не является излишним для этого? У меня есть только два параметра для хранения – JavaSa

+0

Почему это было бы излишним? Это очень легко создать и изменить. – CoryKramer

+0

Не в пути, чтобы построить его, его легкий, я имел в виду, когда я думаю о словаре, я думаю о какой-либо хэш-таблице или карте, которые связаны с решением более сложных проблем и, безусловно, имеют больше ключей и значений для хранения чем только два плохих значения – JavaSa

2

Почему бы не использовать словарь. Словари позволяют вам сопоставить «ключ» с «значением». Например, вы можете определить словарь, как это:

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

и вы можете легко изменить его так:

dict['Date'] = 'newDate'

Смежные вопросы