Как вывести первый ключ из словаря?
Как вывести только 'Pomidorka' из словаря?
list(users.keys()) # ['Ivan', 'Anton', 'Pomidorka', 'Ananas']
list(users.keys())[0]
list(users.keys())[2]
users = ["Андрей", "София", "Cветлана", "Валерий", "Илья", "Mаксим", "Дмитрий", "Лиза"]
trans_table = str.maketrans(
'ABCEHKMOPTXacekmopuxy',
'АВСЕНКМОРТХасекмориху',
)
russian_letters_normalizer = lambda s: s.translate(trans_table) if isinstance(s, str) else s
print('Original:', users)
print('Sorted: ', list(sorted(users, key=russian_letters_normalizer)))
import telebot
import requests
import pprint
import time
botToken = "token"
chanelName = "@wo"
class Bot:
def __init__(self,nameChanel,token):
# todo: проверьте pep8: форматирование (пробелы, indent=4), нейминг (CamelCase vs snake_case)
self.name = nameChanel
self.bot = telebot.TeleBot(token)
# todo: Неадекватное имя bot. Вызывает путаницу в связи с именем класса Bot
#self.source = source
def getIDGroup(self,str):
# todo: str - это встроенный тип, по смыслу должно быть ясно, что можно итерировать
arr = []
# todo: Неадекватное имя arr. Имя должно указывать не на тип, а на суть того, что поименовано.
for nameGroup in str:
url = f"url" # todo: Зачем тут форматная строка, если нет переменных? Видимо ошибка.
response = requests.get(url).json()['response']['object_id']
# todo: Где проверка ответа на ошибки?
# todo: Неадекватное имя. Назовите object_id
arr.extend(self._getPostsGroup(response))
return self._editPosts(arr)
def _getPostsGroup(self,number):
# todo: Неадекватное имя number. Назовите group_id
number = str(number)
url = f"url"
response = requests.get(url).json()['response']['items']
# todo: Неадекватное имя. Назовите object_id
return response
def _editPosts(self,posts):
with open('id.txt','r') as file:
list = file.read().split()
# todo: имя переменной перекрывает встроенный тип, не отражает содержимое
# todo: Зачем read и split, если можно list(file) и идентификаторы хранить в строках?
file.close()
# todo: Зачем close, если with?!
for item in posts:
count = list.count(str(item['id']))
# todo: Зачем вам тут count, если нужна лишь проверка на вхождение?
if count:
continue
photo = ""
# todo: почему не None?
for img in item['attachments'][0]['photo']['sizes']:
if img['height'] > 300:
photo = img['url']
break
text = item['text']
self._sendMessageBot(text,photo)
with open('id.txt','a') as file:
# todo: ну использовали бы уже хотя бы shelve
file.write(str(item['id'])+' ')
file.close()
# todo: опять close
def _sendMessageBot(self,text,photo):
if photo:
if text:
self.bot.send_photo(self.name,photo,caption=text)
return
else:
self.bot.send_photo(self.name,photo)
if text:
self.bot.send_message(self.name,text)
# Функция могла выглядеть так:
# if photo:
# self.bot.send_photo(self.name, photo, caption=text)
# elif text:
# self.bot.send_message(self.name, text)
# Но лучше не допускать вызова с пустыми аргументами. Это бессмысленно и плохо
bot = Bot(chanelName, botToken)
# вот как понимать такое: bot.bot? Нейминг!!!
posts = bot.getIDGroup() #name of group
x = input()
print('Text from input:', x)
echo the string for python | python my_python_script.py
x = input()
y = input()
z = input()
rest = []
while z != 'END':
rest.append(z)
z = input()
print('x=', x, 'y=', y)
print('rest=', rest)
echo The X string
echo The Y string
echo Other string 1
echo line 2
echo line 3
echo line 4
echo END
my_script.bat | python.exe my_python_script.py
echo text to write into the file > the_file.txt
c:/program files/rar/rar.exe
rar_command = '"c:/program files/rar/rar.exe" a -ag {}.rar {}'.format(target_dir,source)
import json
with open('myfile.json') as f:
data = json.load(f)
data['example1'] = 'bye'
with open('myfile.json', 'w') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
https://static-maps.yandex.ru/1.x/?ll=37.677751,55.757718&size=200,200&spn=0.016457,0.00619&l=map
yourorder = yourorder.decode('utf-8') # или 'cp1251' или 'cp866' или что та у вас
district = district.decode('utf-8')
bot.edit_message_text(
chat_id=c.message.chat.id,
message_id=c.message.message_id,
text= u'{}Страна: {}\n\nВыбери товар'.format(yourorder, district),
reply_markup=key,
)
x = obj['result'][-1]['status']
try:
print('cp1251:', x.encode('cp1251'))
except:
try:
print('cp866:', x.encode('cp866'))
except:
print('no way')
import sys
sys.stdout.encoding # 'UTF-8'
import csv
with open('dataset.csv') as f:
reader = csv.reader(f)
for row in reader:
print(row)
s_list = [
{'one': 1, 'two': 2, 'seven': 7, 'fix': 'price', 'number': [5, 4, 2, 3, 5, 4], 'dig': 4},
{'one': 5, 'two': 4, 'seven': 6, 'fix': 'nix', 'number': [3, 5, 7, 2, 3, 9], 'dig': 5},
{'one': 8, 'two': 3, 'seven': 9, 'fix': 'pix', 'number': [3, 2, 3, 1, 8, 4], 'dig': 9}
]
for i, item in enumerate(s_list):
print('\nItem #', i, ':')
for key in item:
print(key, '=', item[key])