Skip to content

Instantly share code, notes, and snippets.

@grepto
Last active December 1, 2019 16:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save grepto/66ff718f1deb010eaa104f1767b2bf59 to your computer and use it in GitHub Desktop.
Save grepto/66ff718f1deb010eaa104f1767b2bf59 to your computer and use it in GitHub Desktop.
OTUS - Web-разработчик на Python Задачи из чата первого занятия

Выведите все элементы, которые меньше 5.

l = [1, 2, 3, 4, 5, 6, 7]

result = [i for i in l if i < 5]

print(result)

Объедините 2 списка так, чтобы в итоге получился 1 список включающий элементы обоих

a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b)
print(a)
[1, 2, 3, 4, 5, 6]

Удалите дубликаты из списка

symbols = ['A', 'B', 'A', 'B', 'A', 'C', 'A', 'B', 'A', 'C', 'A', 'C', 'B', 'C']
unique_symbols = set(symbols)
print(unique_symbols)

Посчитайте количество символов в списке и выведите цифры. A: 5, B: 3, C: 1

import collections

counter = collections.Counter()
symbols = ['A', 'B', 'A', 'B', 'A', 'C', 'A', 'B', 'A', 'C', 'A', 'C', 'B', 'C']

for symbol in symbols:
    counter[symbol] += 1

print(counter)

Сделайте проверку, явдяется ли слово Палиндромом

def is_palindrom(word: str) -> bool:
    return word == word[::-1]

print(is_palindrom('топот'))
print(is_palindrom('bazinga'))
print(is_palindrom('saippuakivikauppias'))

Выведите список элементов, которые есть в первом списке, но нет во втором

list1 = [1, 2, 3, 4, 5, 6]
list2 = [2, 4, 6]

result = [i for i in list1 if i not in list2]

print(result)

Проверьте, повторяются ли символы в строке

def is_unique_symbols_string(string: str) -> bool:
    return len(set(string)) == len(string)


print(is_unique_symbols_string('ABBA'))
print(is_unique_symbols_string('asdflkjqwerpoiu'))

Найдите и выведите наиболее и наимее часто встречающеся слова в строке

import collections


string = 'капуста лампа шесть космос телефон удручающий шесть шесть телефон капуста капуста лампа'

counter = collections.Counter()

for word in string.split():
    counter[word] += 1

maximum = [word for (word, count) in counter.items() if count == max(counter.values())]
minimum = [word for (word, count) in counter.items() if count == min(counter.values())]

print(maximum, minimum)

На вход получаете 2 списка, выведите новый список с элементами первого, которых нет во втором

list1 = [1, 2, 3, 4, 5, 6]
list2 = [2, 4, 6]

result = [i for i in list1 if i not in list2]

print(result)

Посчитайте сумму всех чисел в списке. В списке могут быть строки

l = [1, 2, 3, 'A', 5, 'ololo', 7]
result = sum([i for i in l if isinstance(i, int)])

print(result)

Получите из списка не существующий индекс и вместо ошибки напечатайте: Объекта не существует

l = [1, 2, 3, 'A', 5, 'ololo', 7]
try:
    o = l[99]
except IndexError:
    print('Объекта не существует')

Из списка выведите список цифр и список строк, которые в нем содержатся isinstance()

l = [1, 2, 3, 'A', 5, 'ololo', 7]

print([i for i in l if isinstance(i, int)])
print([i for i in l if isinstance(i, str)])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment