re.sub(r"vasya", "", "Vasya foo vasya bar VASYA", 0, re.IGNORECASE)
https://ideone.com/cHZ8gO import random
class StopRecursion(Exception):
pass
def some_recursive_function(depth=0):
print ("depth=%d" % depth)
# играем в русскую рулетку
if random.randint(1,6) == 4:
raise StopRecursion
some_recursive_function(depth+1)
try:
some_recursive_function()
except StopRecursion:
print ("Recursion stopped")
>>> data = "ID: 001; Username: Ivan; Balance: 01.00; Status: active;"
>>> dict(x.split(":") for x in data.replace(" ","").split(";") if ":" in x)
{'ID': '001', 'Username': 'Ivan', 'Balance': '01.00', 'Status': 'active'}
>>> import re
>>> dict(re.findall("([^:]+):\s?([^;]+);\s?",data))
{'ID': '001', 'Username': 'Ivan', 'Balance': '01.00', 'Status': 'active'}
>>>
{
"response": {
"GeoObjectCollection": {
"metaDataProperty": {
"GeocoderResponseMetaData": {
"request": "Москва,Тверская 6",
"results": "10",
"found": "1"
}
},
"featureMember": [
{
"GeoObject": {
"metaDataProperty": {
"GeocoderMetaData": {
"precision": "exact",
"text": "Россия, Москва, Тверская улица, 6с1",
"kind": "house",
"Address": {
"country_code": "RU",
"formatted": "Россия, Москва, Тверская улица, 6с1",
"postal_code": "125009",
"Components": [
{
"kind": "country",
"name": "Россия"
},
{
"kind": "province",
"name": "Центральный федеральный округ"
},
{
"kind": "province",
"name": "Москва"
},
{
"kind": "locality",
"name": "Москва"
},
{
"kind": "street",
"name": "Тверская улица"
},
{
"kind": "house",
"name": "6с1"
}
]
},
"AddressDetails": {
"Country": {
"AddressLine": "Россия, Москва, Тверская улица, 6с1",
"CountryNameCode": "RU",
"CountryName": "Россия",
"AdministrativeArea": {
"AdministrativeAreaName": "Москва",
"Locality": {
"LocalityName": "Москва",
"Thoroughfare": {
"ThoroughfareName": "Тверская улица",
"Premise": {
"PremiseNumber": "6с1",
"PostalCode": {
"PostalCodeNumber": "125009"
}
}
}
}
}
}
}
}
},
"name": "Тверская улица, 6с1",
"description": "Москва, Россия",
"boundedBy": {
"Envelope": {
"lowerCorner": "37.607242 55.757926",
"upperCorner": "37.615452 55.762556"
}
},
"Point": {
"pos": "37.611347 55.760241"
}
}
}
]
}
}
}
{
"response": {
"GeoObjectCollection": {
"metaDataProperty": {
"GeocoderResponseMetaData": {
"request": "Киевская обл. , г. Киев, ул. Крещатик, дом 50, кв. 8",
"results": "10",
"found": "2"
}
},
"featureMember": [
{
"GeoObject": {
"metaDataProperty": {
"GeocoderMetaData": {
"precision": "exact",
"text": "Украина, Киев, улица Крещатик, 50",
"kind": "house",
"Address": {
"country_code": "UA",
"formatted": "Украина, Киев, улица Крещатик, 50",
"Components": [
{
"kind": "country",
"name": "Украина"
},
{
"kind": "province",
"name": "Киев"
},
{
"kind": "locality",
"name": "Киев"
},
{
"kind": "street",
"name": "улица Крещатик"
},
{
"kind": "house",
"name": "50"
}
]
},
"AddressDetails": {
"Country": {
"AddressLine": "Украина, Киев, улица Крещатик, 50",
"CountryNameCode": "UA",
"CountryName": "Украина",
"AdministrativeArea": {
"AdministrativeAreaName": "Киев",
"Locality": {
"LocalityName": "Киев",
"Thoroughfare": {
"ThoroughfareName": "улица Крещатик",
"Premise": {
"PremiseNumber": "50"
}
}
}
}
}
}
}
},
"name": "улица Крещатик, 50",
"description": "Киев, Украина",
"boundedBy": {
"Envelope": {
"lowerCorner": "30.516022 50.440632",
"upperCorner": "30.524232 50.445875"
}
},
"Point": {
"pos": "30.520127 50.443254"
}
}
},
{
"GeoObject": {
"metaDataProperty": {
"GeocoderMetaData": {
"precision": "other",
"text": "Украина, Киевская область",
"kind": "province",
"Address": {
"country_code": "UA",
"formatted": "Украина, Киевская область",
"Components": [
{
"kind": "country",
"name": "Украина"
},
{
"kind": "province",
"name": "Киевская область"
}
]
},
"AddressDetails": {
"Country": {
"AddressLine": "Украина, Киевская область",
"CountryNameCode": "UA",
"CountryName": "Украина",
"AdministrativeArea": {
"AdministrativeAreaName": "Киевская область"
}
}
}
}
},
"name": "Киевская область",
"description": "Украина",
"boundedBy": {
"Envelope": {
"lowerCorner": "29.266411 49.179114",
"upperCorner": "32.161466 51.554013"
}
},
"Point": {
"pos": "30.456149 50.29807"
}
}
}
]
}
}
}
sum(int(n[2:]) for n in arr)
.sum(int(re.sub(r'\D', '', n)) for n in arr)
. 1. Выгрузить подписчиков из похожих групп и пабликов и массово добавлять их в друзья с разных аккаунтов;
2. Отписываться от имени сообщества в комментариях очень крупных похожих групп и пабликов.
Какие способы ещё подскажете для продвижения именно политической группы?
TEXT_WORDS = []
index = 0
for word in TEXT.split():
index = TEXT.index(word, index)
TEXT_WORDS.append((word, index))
index += len(word)
def translit(name):
dictionary = {'a':'а','b':'б','v':'в','g':'г','d':'д','e':'e',
'zh':'ж','z':'з','i':'и','y':'й','k':'к','l':'л','m':'м','n':'н',
'o':'о','p':'п','r':'р','s':'с','t':'т','u':'у','f':'ф','kh':'х',
'ts':'ц','ch':'ч','sh':'ш','shch':'щ','ъ':'','ie':'ы','ь':'','ei':'э',
'yu':'ю','ja':'я'}
end_index = 0
start_index = 0
while start_index < len(name):
last_match = ''
while end_index < len(name)+1:
if name[start_index:end_index] in dictionary:
last_match = name[start_index:end_index]
end_index += 1
print(last_match, '=', dictionary[last_match])
start_index += len(last_match)
end_index = 0