Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
2 / 2 / 1
Регистрация: 15.10.2015
Сообщений: 173

Отображение ключей в словаре как чисел в двоичном формате

17.10.2016, 09:38. Показов 1300. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Я разыгрываю генератор, который выдает некие значения в двоичном представлении по порядку, отличающиеся друг от друга, но при попытке их поставить в словарь, происходит заполнение только для одного числа, потому что оно представляется в таком виде 1,01101E+30, а это уместно и для следующего двочного числа. конвертация в текст не помогает - получается тоже самое.



Python
1
2
3
['01011011001001011101000011000010', '01011011001001011101000011000011']
 
d={'1,01101E+30' : 1.57}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.10.2016, 09:38
Ответы с готовыми решениями:

Как выдрать последние 10 ключей в словаре
Подскажите пожалуйста! Есть словарь(в нем есть число(1-80), и сколько раз оно повторяется) {6: 26, 8: 20, 9: 20, 21: 33, 24: 27, 25:...

Вывод чисел в двоичном формате
Не могу никак понять каким образом вывести массив целых чисел в двоичном формате в СИ Пример есть массив int array; значения которого ...

Найти более элегантное решение считывания чисел в двоичном формате из файла
Задача такая: имеется файл, в котором записаны числа в двоичном формате, причем числа имеют тип int и short. Записаны они так: идут 10...

7
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
17.10.2016, 09:53
Не может такого быть.
Вы нас разыгрываете.
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
17.10.2016, 10:12
Я не понял Вашу проблему. Python спокойно воспринимает Ваши строки как ключи:
Code
1
2
3
>>> d = {'01011011001001011101000011000010':1, '01011011001001011101000011000011':2}
>>> d
{'01011011001001011101000011000010': 1, '01011011001001011101000011000011': 2}
Приведите кусочек Вашего кода, которым генерируется d
0
2 / 2 / 1
Регистрация: 15.10.2015
Сообщений: 173
17.10.2016, 11:35  [ТС]
Там много придется показывать

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
conn=sqlite3.connect('E:\lists.sqlite3')
    cur=conn.cursor()
    title=raw_input('Enter a desire programm:  ')# Имитирую запуск кода программы
    cur.execute('SELECT  addresses FROM  Programms  WHERE  title  = ?'.format(title),(title,))# Нахожу соотвествующие линии своего кода в базе - я записал свои адреса в БД, но там номера одинаковые совершенно и выглядят для каждой имени одинаково - см. вложение.
    Results=cur.fetchall()
    desire_p=Results[:]
    print Results
    for i in range(len(Results)):
        time.sleep(0.4)
        u = time.time()
        k=Results.pop(0)
        if k not in Cashmemory:# Проверяю есть ли они в кэше и если их нет, ....Cashmemory - это и есть словарь
            for j in SW:# ...то тогда я ищу их в основной памяти
                if j in SW and k==j:# ставлю условие проверки, если они соотвествуют тем адресам, которые в памяти, то
                    if len(Cashmemory)<20:# ...то тогда я переношу их в кэш (словарь)
                        time.sleep(0.4)
                        u = time.time()
                        Cashmemory[k]=Cashmemory.get(k, u)
                        continue
                    if len(Cashmemory)>=20:
                        for k, u in Cashmemory.items():
                            if u==Cashmemory[min(Cashmemory)] and len(Cashmemory)>=20:
                                del Cashmemory[k]
                    else:
                        break
        
                    
        else:
            print Cashmemory #ну а если они уже в кэше читаю их'''
    count=0
    print Cashmemory, len(Cashmemory)
Этот код идет через While - и там 3 случая - либо я его разрываю, либо новые линии записываю с присвоением имени, либо читаю линии, вводя названия, которые я хочу прочитать как в случае с этим фрагментом кода.
Миниатюры
Отображение ключей в словаре как чисел в двоичном формате  
0
26 / 26 / 23
Регистрация: 28.09.2016
Сообщений: 91
17.10.2016, 14:19
18 -ая строчка непонятна. Метод get словаря возвращает значение по ключу. Т.к. ключа k в словаре нету, то вернётся u. Т.е. в данном случае запись - Cashmemory[k]=Cashmemory.get(k, u) равносильна записи Cashmemory[k] = u. Или я чего то не понимаю?
1
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
17.10.2016, 14:29
Python
1
2
for j in SW:# ...то тогда я ищу их в основной памяти
               if j in SW and k==j:
Можно заменить на
if k in SW:
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
17.10.2016, 14:31
Так скорее всего значения в таком виде уже в sqlite..
Как обявлено поле addresses ?
0
2 / 2 / 1
Регистрация: 15.10.2015
Сообщений: 173
18.10.2016, 20:48  [ТС]
Python
1
2
 cur.execute('CREATE  TABLE IF NOT EXISTS Programms  (title  TEXT,  addresses  INTEGER)')
 cur.execute('''INSERT  INTO  Programms  (title,  addresses) VALUES  (  ?,  ?)''',  (  title, addresses  )  )
но даже если я меняю на TEXT - результат такой же.

Добавлено через 9 минут
Что хочу отметить, такого не было если у меня адреса шли в случайном порядке, а здесь они идут по порядку - стало так после того как я изменил порядок генерации адресов со случайного на упорядоченный.

Добавлено через 9 минут
Адреса берутся из словаря - в словаре они выглядят нормально, т.е. они разные, почему базе данных они одинаковые я не знаю. И вообще моделирование работы кэш-памяти я делаю удачно, записывая адреса в БД, которые соответствуют линиям кода вирт. программам?

Добавлено через 16 часов 51 минуту
Видите, у меня число 32-разрядное, но я ставил LONG вместо INTEGER - не помогало

Добавлено через 12 часов 40 минут
мне лучше базу данных переустановить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.10.2016, 20:48
Помогаю со студенческими работами здесь

Как хранить данные в двоичном формате
Например, у меня есть 0b001001. В переменную какого типа мне это засунуть, чтобы это и оставалось в таком же виде, и не приводилось в...

Как представить char в двоичном формате?
Например, имею: char str=&quot;str str str&quot; Как получить строку в двоичном коде? И наоборот. Как двоичный код преобразовать в строку?...

Перебор ключей в словаре
Приступил к изучению питона, сейчас полно всяких бесплатных курсов и вот проходя один из них, выполняю очередное задание. В задании нужно...

Подсчитать количество ключей в словаре
Пусть дан словарь. Посчитайте и выведите сколько в словаре ключей.

Перебор ключей по значению в словаре
Как можно перебрать значения словаря, чтобы получить ключи? К примеру в словаре A при вводе пользователем &quot;1 2 3&quot; на экран...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru