>>> def gen():
... a, b = 2 ** 0.5, 2
... while True:
... yield a
... yield b
... a *= 2
... b *= 2
...
>>> lst = [1] * 10
>>> out = [i * j for i, j in zip(lst, gen())]
>>> out
[1.4142135623730951, 2, 2.8284271247461903, 4, 5.656854249492381, 8, 11.313708498984761, 16, 22.627416997969522, 32]
>>>
Мои задачи: писать просты скрипты для автоматизации работы:
например, скрипт, который на дизайнерском сайте будет каждый день по определенным критериям ставить лайки
И еще хочу самостоятельно для закрепления навыков сделать программу, которая будет при подключении плейера к компьютеру автоматически копировать музыку из указанной на компьютере папки в папку устройства.
>>> import collections
>>>
>>> lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> n = 5
>>>
>>> deq = collections.deque(enumerate(lst))
>>>
>>> while len(deq) > 1:
... deq.rotate(-n)
... print(deq.pop())
...
(4, 5)
(0, 1)
(6, 7)
(3, 4)
(2, 3)
(5, 6)
(8, 9)
(1, 2)
>>> print(deq)
deque([(7, 8)])
>>>
Хочу вот сюда [a-zA-Z0-9] включить слеш / .
>>> import re
>>>
>>> re.findall(r'/', 'a/b/c/d')
['/', '/', '/']
>>>
>>> import re
>>>
>>> re.findall(r'[ac/]', 'a/b/c/d')
['a', '/', '/', 'c', '/']
>>>
import codecs
import json
with codecs.open('file.txt', 'w', encoding='utf-8') as fout:
json.dump({u'абв': u'где'}, fout, ensure_ascii=False)
[guest@localhost py]$ cat file.txt
{"абв": "где"}[guest@localhost py]$
Код ошибки: 10
"Ошибка в среде"
http://site/topic/777
http://site/topic/111
{10: ('Ошибка в среде', ['http://site/topic/777', 'http://site/topic/111'])}
>>> d = {10: ('Ошибка в среде',
... ['http://site/topic/777', 'http://site/topic/111']),
... 37: ('Не удалось инициализировать драйвер этого устройства (Код 37)\n'
... '(Операция не выполнена) Запрошенная операция не выполнена',
... ['http://site/topic/555'])}
>>> d[10]
('Ошибка в среде', ['http://site/topic/777', 'http://site/topic/111'])
>>> d[37]
('Не удалось инициализировать драйвер этого устройства (Код 37)\n(Операция не выполнена) Запрошенная операция не выполнена', ['http://site/topic/555'])
>>>
>>> print(d[37][0])
Не удалось инициализировать драйвер этого устройства (Код 37)
(Операция не выполнена) Запрошенная операция не выполнена
>>>
>>> def f(seq):
... m1 = m2 = None
... for i in seq:
... if m2 is None:
... m2 = i
... elif m1 is None:
... if i > m2:
... m1, m2 = m2, i
... else:
... m1 = i
... elif i > m2:
... m1, m2 = m2, i
... elif i > m1:
... m1 = i
... return (m1, m2)
...
>>> a = [1, 2, 39, 4, 13, 4, 5, 6, 7, 3, 23, 2]
>>>
>>> f(a)
(23, 39)
>>>
>>> def f(d):
... for i in set(d):
... e = d[i]
... if isinstance(e, dict):
... f(e)
... elif e == 0:
... del d[i]
...
>>> d = {'user1': {'var1': 2,
... 'var2': 0,
... 'var3': 1,
... 'var4': 0},
... 'user2': {'var1': 0,
... 'var2': 1,
... 'var3': 0,
... 'var4': 0},
... 'user3': {'var1': 1,
... 'var2': 0,
... 'var3': 0,
... 'var4': 0}}
>>>
>>> f(d)
>>> d
{'user3': {'var1': 1}, 'user2': {'var2': 1}, 'user1': {'var1': 2, 'var3': 1}}
>>>
Как с помощью рекурсии удалить последний элемент списка?
rx = r'\. %s (.+\n)+[}]'% clss
>>> import lxml.etree
>>>
>>> text = """\
... <eventsList>
... <event>
... <id>374648e7-0c33-403f-bec5-c580fcf9fc8b</id>
... <date>2016-03-30T21:11:33.163+03:00</date>
... <type>deletedPrintedItems</type>
... <departmentId>3</departmentId>
... <attribute>
... <name>comment</name>
... <value>sadasd</value>
... </attribute>
... <attribute>
... <name>user</name>
... <value>65d90cba-a421-4e4d-9d3e-14ddd6907280</value>
... </attribute>
... <attribute>
... <name>openTime</name>
... <value>Wed Mar 30 21:07:53 MSK 2016</value>
... </attribute>
... <attribute>
... <name>tableNum</name>
... <value>2</value>
... </attribute>
... <attribute>
... <name>session</name>
... <value>1.000000000</value>
... </attribute>
... <attribute>
... <name>orderNum</name>
... <value>4.000000000</value>
... </attribute>
... <attribute>
... <name>reason</name>
... <value>Со списанием</value>
... </attribute>
... <attribute>
... <name>receiptsSum</name>
... <value>0E-9</value>
... </attribute>
... <attribute>
... <name>dishes</name>
... <value>Салат Оливье</value>
... </attribute>
... <attribute>
... <name>isBanquet</name>
... <value>0E-9</value>
... </attribute>
... <attribute>
... <name>withWriteoff</name>
... <value>1.000000000</value>
... </attribute>
... <attribute>
... <name>penalty</name>
... <value>0E-9</value>
... </attribute>
... <attribute>
... <name>rowCount</name>
... <value>1.000000000</value>
... </attribute>
... <attribute>
... <name>numGuests</name>
... <value>4.000000000</value>
... </attribute>
... <attribute>
... <name>auth</name>
... <value>65d90cba-a421-4e4d-9d3e-14ddd6907280</value>
... </attribute>
... <attribute>
... <name>orderSumAfterDiscount</name>
... <value>0E-9</value>
... </attribute>
... <attribute>
... <name>terminal</name>
... <value>49c7d0ba-a469-517f-0153-61a7bcb29ccb</value>
... </attribute>
... <attribute>
... <name>sum</name>
... <value>70.000000000</value>
... </attribute>
... <attribute>
... <name>method</name>
... <value>Списание за счет заведения</value>
... </attribute>
... <attribute>
... <name>orderId</name>
... <value>e55c392f-ea8a-4c96-aecd-2bd0b6ffd2cd</value>
... </attribute>
... <attribute>
... <name>waiter</name>
... <value>5daf4283-ae8c-4a95-83e5-052fb4a33570</value>
... </attribute>
... </event>
... <event>
... <id>61d3cb56-74dd-4d20-86ae-217c37f15f01</id>
... <date>2016-03-30T21:11:41.090+03:00</date>
... <type>frontLogout</type>
... <departmentId>3</departmentId>
... <attribute>
... <name>user</name>
... <value>65d90cba-a421-4e4d-9d3e-14ddd6907280</value>
... </attribute>
... <attribute>
... <name>session</name>
... <value>1.000000000</value>
... </attribute>
... <attribute>
... <name>terminal</name>
... <value>49c7d0ba-a469-517f-0153-61a7bcb29ccb</value>
... </attribute>
... </event>
... </eventsList>
... """
>>>
>>> doc = lxml.etree.fromstring(text)
>>> events = doc.xpath(r'//event/type[text() = "deletedPrintedItems"]/..')
>>>
>>> for event in events:
... comments = event.xpath(r'.//attribute/name[text() = "comment"]'
... r'/../value/text()')
... print(comments)
...
['sadasd']
>>>