Найти - Пользователи
Полная версия: Python 2.6.3 Не могу получить случайные значения из словаря с помощью метода popitem()
Начало » Python для новичков » Python 2.6.3 Не могу получить случайные значения из словаря с помощью метода popitem()
1 2 3
dimy44
Нет. В первом случае Вы получили список списков
[['flourish', 6]]
, где нулевой элемент- список
['flourish', 6]
, а во втором список
['burdamoden', 1]
, где нулевой элемент - строка ‘burdamoden’. Дальнейшее извлечение нулевого и первого элементов из вышеописанного дает полученные Вами результаты.
rudm
GaiveR
>>Не знаю, что вы хотите сделать, но делаете вы это очень странно. Опишите исходную задачу, может, чего лучше посоветуем.
Мне нужно просто в случайном порядке извлекать из кортежа два ключа и сравнивать их значения.
Спасибо, вы мне и так уже очень помогли.
rudm
dimy44
Cпасибо. Теперь понятно.
GaiveR
rudm
Мне нужно просто в случайном порядке извлекать из кортежа два ключа и сравнивать их значения.
В кортеже нет понятия “ключ”.

rudm
Скажите пожалуйста, существуют ли какие то встроенные функции для сравнения значения ключей?
Я не нашел такой функции, поэтому решил, что для моей задачи лучше использовать кортеж с вложенными массивами.
Сравнивать ключи в словаре ничем не хуже, чем сравнивать нечто, представленное в виде кортежа списков.

Давайте рассмотрим задачу на более высоком уровне(опишите) и попробуем подобрать правильную структуру данных для её решения.
rudm
GaiveR
Спасибо.
Мы уже определились с окончательной конструкцией - кортежи вложенные в массив. Наверное менять не будем. Я понимаю, что ключ или флаг, в данном случае, это не верное название, но я так называю для удобства.
Описать задачу могу лишь приблизительно. Есть данные в окончательном виде представленные так:
[('key one', 3, 'g'), ('key two', 5, 'n')]
где, вольно выражаясь,
key one - это название ключа (строковый параметр), Различные произвольные названия.
3 - значение (численное значение) Может быть от 0 до… думаю до 9 но пока точно не знаю.
'g' - дополнительный флаг (строковое значение) (может принимать два значения ‘g’ или ‘n’)

Сначала мне необходимо сравнивать значения флагов, на совпадения с заданным сверху (либо g либо n) После чего оставлять в массиве лишь кортежи с одним типом флагов. либо ‘g’ либо ‘n’ в зависимости от заданных условий. После чего необходимо сравнивать численные значения и выводить на печать те, у которых значение максимальное.

Но данные представлены неоднородно, и возникла проблема обработки исключений при выходе за границы кортежа. Но, я наверное создам другую тему для этого. Вот http://python.su/forum/topic/20193/
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB