Основываясь на ответе Свена, я нашел использование коллекций. Такой способ помог мне выполнить то, что вы хотите, и позволить мне добавить больше элементов в dict:
import collections
x=[1,2,20,6,210]
z=collections.OrderedDict.fromkeys(x)
z
OrderedDict([(1, None), (2, None), (20, None), (6, None), (210, None)])
Если вы хотите добавить элементы, но все еще рассматривайте его как набор, который вы можете просто сделать:
z['nextitem']=None
И вы можете выполнить операцию типа z.keys () на dict и получить набор:
z.keys()
[1, 2, 20, 6, 210]
используя:
UPDATE lines SET laenge = ST_Length(geom::geography);
Я могу воспроизвести результаты Qgis, которые вы разместили, это означает, что Qgis не использует проекцию, которую вы указали для вычисления длины линий
Вы можете прочитать больше в qgis около $ length:
Длина, рассчитанная этой функцией, учитывает как настройки эллипсоида текущего проекта, так и настройки единиц измерения расстояния. Например, если для проекта был установлен эллипсоид, то расчетная длина будет эллипсоидальной, а если не установлен эллипсоид, то расчетная длина будет контурной.
blockquote>и о разнице между геометрией и географией в: postgis docs