Это удалит элемент по значению:
>>> things.remove("salmonella")
>>> things
['MOZZARELLA', 'Cinderella']
Поскольку элемент находится на последнем месте в списке, следующая строка тоже сработает:
>>> del things[-1]
Элемент также можно удалить, указав смещение от начала:
>>> del things[2]
8. Создайте список, который называется surprise и содержит элементы 'Groucho', 'Chico' и 'Harpo'.
>>> surprise = ['Groucho', 'Chico', 'Harpo']
>>> surprise
['Groucho', 'Chico', 'Harpo']
9. Напишите последний элемент списка surprise со строчной буквы, затем обратите его и напишите с прописной буквы:
>>> surprise[-1] = surprise[-1].lower()
>>> surprise[-1] = surprise[-1][::-1]
>>> surprise[-1].capitalize()
'Oprah'
10. Создайте англо-французский словарь, который называется e2f, и выведите его на экран. Вот ваши первые слова: dog/chien, cat/chat и walrus/morse:
>>> e2f = {'dog': 'chien', 'cat': 'chat', 'walrus': 'morse'}
>>> e2f
{'cat': 'chat', 'walrus': 'morse', 'dog': 'chien'}
11. Используя словарь e2f, выведите французский вариант слова walrus:
>>> e2f['walrus']
'morse'
12. Создайте французско-английский словарь f2e на основе словаря e2f. Используйте метод items:
>>> f2e = {}
>>> for english, french in e2f.items():
····f2e[french] = english
>>> f2e
{'morse': 'walrus', 'chien': 'dog', 'chat': 'cat'}
13. Используя словарь f2e, выведите английский вариант слова chien:
>>> f2e['chien']
'dog'
14. Создайте и выведите на экран множество английских слов из ключей словаря e2f:
>>> set(e2f.keys())
{'cat', 'walrus', 'dog'}
15. Создайте многоуровневый словарь life. Используйте следующие строки для ключей верхнего уровня: 'animals', 'plants' и 'other'. Сделайте так, чтобы ключ 'animals' ссылался на другой словарь, имеющий ключи 'cats', 'octopi' и 'emus'. Сделайте так, чтобы ключ 'cats' ссылался на список строк со значениями 'Henri', 'Grumpy' и 'Lucy'. Остальные ключи должны ссылаться на пустые словари.
Это довольно трудный пример, поэтому, если вы подглядели сюда, ничего особо страшного не случилось:
>>> life = {
…·····'animals': {
…·········'cats': [
…·············'Henri', 'Grumpy', 'Lucy'
…·············],
…·········'octopi': {},
…·········'emus': {}
…·········},
…·····'plants': {},
…·····'other': {}
…·····}
>>>
16. Выведите на экран высокоуровневые ключи словаря life:
>>> print(life.keys())
dict_keys(['animals', 'other', 'plants'])
Python 3 содержит функционал для работы с ключами словарей. Чтобы вывести их как список, используйте следующую строку:
>>> print(list(life.keys()))
['animals', 'other', 'plants']
Вы можете использовать пробелы, чтобы сделать ваш код более удобочитаемым:
>>> print (list (life.keys()))
['animals', 'other', 'plants']
17. Выведите на экран ключи life['animals']:
>>> print(life['animals'].keys())
dict_keys(['cats', 'octopi', 'emus'])
18. Выведите значения life['animals']['cats']:
>>> print(life['animals']['cats'])
['Henri', 'Grumpy', 'Lucy']
Глава 4. Корочка Python: структуры кода
1. Присвойте значение 7 переменной guess_me. Далее напишите условные проверки (if, else и elif), чтобы вывести строку 'too low', если значение переменной guess_me меньше 7, 'too high' — если оно больше 7, и 'just right' — если равно 7:
guess_me = 7
if guess_me < 7:
····print('too low')
elif guess_me > 7:
····print('too high')
else:
····print('just right')
Запустите эту программу, и вы увидите следующую строку:
just right
2. Присвойте значение 7 переменной guess_me и значение 1 переменной start. Напишите цикл while, который сравнивает переменные start и guess_me. Выведите строку 'too low', если значение переменной start меньше значения переменной guess_me. Если значение переменной start равно значению переменной guess_me, выведите строку 'found it!' и выйдите из цикла. Если значение переменной start больше значения переменной guess_me, выведите строку 'oops' и выйдите из цикла. Увеличьте значение переменной start на выходе из цикла:
guess_me = 7
start = 1
while True:
····if start < guess_me:
········print('too low')
····elif start == guess_me:
········print('found it!')
········break
····elif start > guess_me:
········print('oops')
········break
····start += 1
Если вы сделали все правильно, то увидите следующие строки:
too low
too low
too low
too low
too low
too low
found it!
Обратите внимание на то, что строка elif start > guess_me: могла содержать обычный оператор else:, поскольку, если значение start не меньше и не равно значению guess_me, оно должно быть больше. По крайней мере в этой Вселенной.
3. Используйте цикл for, чтобы вывести на экран значения списка [3, 2, 1, 0]:
>>> for value in [3, 2, 1, 0]:
…·····print(value)
…
3
2
1
0
4. Используйте включение списка, чтобы создать список, который содержит нечетные числа в диапазоне range(10):
>>> even = [number for number in range(10) if number % 2 == 0]
>>> even
[0, 2, 4, 6, 8]
5. Используйте включение словаря, чтобы создать словарь squares. Используйте вызов range(10), чтобы получить ключи, и возведите их в квадрат, чтобы получить их значения:
>>> squares = {key: key*key for key in range(10)}
>>> squares
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
6. Используйте включение множества, чтобы создать множество odd, которое содержит четные числа в диапазоне range(10):
>>> odd = {number for number in range(10) if number % 2 == 1}
>>> odd
{1, 3, 9, 5, 7}
7. Используйте включение генератора, чтобы вернуть строку 'Got ' и количество чисел в диапазоне range(10). Итерируйте по нему с помощью цикла for:
>>> for thing in ('Got %s' % number for number in range(10)):
…·····print(thing)
…
Got 0
Got 1
Got 2
Got 3
Got 4
Got 5
Got 6
Got 7
Got 8
Got 9
8. Определите функцию good, которая возвращает список ['Harry', 'Ron', 'Hermione']:
>>> def good():
…·····return ['Harry', 'Ron', 'Hermione']
…
>>> good()
['Harry', 'Ron', 'Hermione']
9. Определите функцию генератора get_odds, которая возвращает нечетные числа из диапазона range(10). Используйте цикл for, чтобы найти и вывести третье возвращенное значение:
>