Архив автора: admin

MongoDB базовые функции под python ( pymongo )

MongoDB — документо-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц.

# coding: utf8

import pymongo

from pymongo import Connection
connection = Connection()

# Удалить БД, если она существует
connection.drop_database("test_database")

# Выбираем БД
db = connection.test_database
# либо: db = connection["test_database"]

# Удалить коллекцию
db.drop_collection('users')

# Добавление документов в колекцию 'users'
db.users.save( { 'name':'user 1', 'level':1 } )
db.users.save( { 'name':'user 2', 'level':2 } )
db.users.insert( { 'name':'user 3', 'level':3 } )

# Полное имя колекции
print db.users.full_name

# Получить все документы
for user in db.users.find():
print user

# Выбрать конкретные атрибуты
users = db.users.find({},{ 'login':1, 'name':1 })

# Получить один документ по условию
user = db.users.find_one({'name':'user 1'})

# Получить/установить значение
print user['level']
user['level'] = 7

# Сохранить документ
db.users.save(user)

# Удалить документ
db.users.remove(user)

# Установить значение в документе
db.users.update({ 'name':'user 2' }, { "$set": { 'level':5 } })

# Кол-во документов
print 'Count',db.users.count()
print 'Count lvl=2',db.users.find({'level':2}).count()

# Сортировка
for user in db.users.find().sort('level'):
print user
# в обратном порядке: .sort('level',pymongo.DESCENDING)
# Сортировка по нескольким атрибутам
db.users.find({}).sort( [('status',1),('level',-< span class="mi">1)] )

# Ограничение выборки, пропустить один документ и выбрать не более двух
for user in db.users.find().skip(1).limit(2):
print user

# Условия
for user in db.users.find().where('this.name == "user 2" || this.level>3'):
print user

# Выбрать неповторяющиеся записи
for user in db.users.distinct('level'):
print user

# Поиск регулярным выражением
import re
regex = re.compile('^us', re.I | re.U)
result = db.collection.find({ 'name':regex })

Автор: D1VER
Дата публикации: 2013-12-16T05:15:00.002-08:00

Колье своими руками

Колье «Цветы» своими руками

В преддверии праздников все мы ищем новый наряд, украшения на новогодний корпоратив. Хотите удивить коллег и блистать весь вечер? Изготовьте колье своими руками, и вы будете неповторимы. Это совсем не сложно, как может показаться. Как говорится: «Не боги обжигают горшки». На изготовление вы потратите от силы час, а удовольствие от восхищенных взглядов вы будете получать на протяжении всей новогодней ночи. Спешите сделать колье своими руками до новогодней вечеринки!

Колье своими руками

Колье своими руками

Читать

Python полезности для игры Астероид

Выход за границы области экрана
>>> self.pos[0] = (self.pos[0] + self.vel[0]) % WIDTH
>>> self.pos[1] = (self.pos[1] + self.vel[1]) % HEIGHT
pos — координаты центра движущейся фигуры

Увеличение скорости астероидов в зависимости от счета score
# increase rock's velocity using score
for rock in rock_group:
    for i in range(2):
        rock.vel[i] = rock.init_vel[i] + (rock.init_vel[i] * score * 0.03)
или
rock_vel[i] = rock_vel[i] * (1 + score / 3)

Столкновение спрайтов (p q — координаты центров сталкивающихся спрайтов, dist — расчет дистанции между спрайтами)
def dist(p, q):
    return math.sqrt((p[0] — q[0]) ** 2 + (p[1] — q[1]) ** 2) 

def collide(self, other_object):
        return dist(self.pos, other_object.pos) <= self.radius + other_object.radius

Автор: Viktor

Как убрать «мешочки» под глазами?

Для многих женщин знакома картина, когда, просыпаясь, видишь в зеркале не совсем тот свежий и отдохнувший образ, который хотелось бы увидеть. Очень часто утром мы видим на своем лице отечность или «мешочки» под глазами.

Как убрать их быстро? Впереди целый день и хочется выглядеть на все 100%.
Причин для их образования много: Читать

Python преобразовать список из [1, [2, 3], 4] в [1, 2, 3, 4]

Задача: преобразовать список из такого типа [1, [2, 3], 4]   в    [1, 2, 3, 4]

check_lst = [[[2]], [4, [5, 6, [6], 6, 6, 6]]]

def check(lst):
    check_bool = True
    out_lst = []
    copy_lst = list(lst)
    while check_bool:
        check_bool = False
        for i in copy_lst:            
            if isinstance(i, list):
                check_bool = True
                out_lst.extend(i)
            else:
                out_lst.append(i)
        if check_bool:
            copy_lst = list(out_lst)
            out_lst = []            
    return out_lst

print check(check_lst)

[2, 4, 5, 6, 6, 6, 6, 6]

Лучшее решение


def check(lst):
    'convert all elements in lst in one row'
    return sum(map(lambda a: check(a) if isinstance(a,(list)) else [a],lst),[])

Автор: Viktor

Как преодолеть ограничения и начать жить на полную мощность?

рад

«Если вы верите что можете

или верите, что не можете чего-то достичь,

 то вы правы в обоих случаях».

Генри Форд

Вам  хочется изменений или чего-то нового в жизни, но это кажется сложным. И не  понятно с чего начинать, чтобы изменения произошли. При этом наши изменения в первую очередь зависят от того, каким образом мы воспринимаем ту или иную ситуацию. У каждого из нас своя система ценностей, без которой мы не можем жить в окружающем его мире. Если мы думаем, что изменения невозможны, то они будут для нас невозможными, нам будет сложно что-то начать делать в этом направлении. И соответственно наоборот – думаем, что все возможно, тогда начинаем действовать, отбросив страхи и сомнения. А создают нам такие разные рамки восприятия наши убеждения.

Читать