1. Напишіть функцію, яка приймає список рядків та повертає список слів, що містяться у всіх рядках.
2. Напишіть програму, яка зчитує два списки чисел з файлів та повертає новий список, який містить спільні елементи цих списків.
3. Напишіть функцію, яка приймає список рядків та повертає словник, де ключі - це унікальні символи, що містяться у рядках, а значення - кількість їх появ у рядках.
Answers & Comments
Ответ:
Функція для отримання спільних слів у списку рядків:
def common_words(lst):
# Розділяємо кожен рядок на слова та зберігаємо у множину
words_sets = [set(line.split()) for line in lst]
# Обчислюємо перетин множин слів
common = set.intersection(*words_sets)
# Повертаємо список спільних слів
return list(common)
Програма для отримання спільних елементів у двох списках, зчитаних з файлів:
def common_elements(file1, file2):
# Зчитуємо списки з файлів
with open(file1, 'r') as f:
lst1 = list(map(int, f.read().split()))
with open(file2, 'r') as f:
lst2 = list(map(int, f.read().split()))
# Обчислюємо перетин списків
common = set(lst1).intersection(set(lst2))
# Повертаємо список спільних елементів
return list(common)
Функція для створення словника, де ключі - це унікальні символи, що містяться у рядках, а значення - кількість їх появ у рядках:
def char_count(lst):
# Об'єднуємо всі рядки у один
text = ' '.join(lst)
# Створюємо словник, де ключі - це унікальні символи, що містяться у тексті
char_dict = {char: 0 for char in set(text) if char != ' '}
# Рахуємо кількість появ кожного символу у тексті
for char in text:
if char in char_dict:
char_dict[char] += 1
# Повертаємо словник
return char_dict
Объяснение:
Python
№1 Функція
def common_words(strings):
# Створюємо множину з першого рядка
common = set(strings[0].split())
for string in strings[1:]:
# Розділяємо рядок на слова і створюємо з нього множину
words = set(string.split())
# Оновлюємо множину спільних слів
common.intersection_update(words)
# Перетворюємо множину в список та повертаємо його
return list(common)
№2 программа
def common_elements(file1, file2):
# Відкриваємо файли і зчитуємо їх вміст
with open(file1) as f1, open(file2) as f2:
lst1 = list(map(int, f1.read().split()))
lst2 = list(map(int, f2.read().split()))
# Створюємо множини з елементів списків
set1 = set(lst1)
set2 = set(lst2)
# Повертаємо список спільних елементів
return list(set1.intersection(set2))
№3 Функція
def count_chars(strings):
# Створюємо порожній словник
char_count = {}
# Проходимо по кожному рядку
for string in strings:
# Проходимо по кожному символу у рядку
for char in string:
# Якщо символ ще не зустрічався, додаємо його до словника зі значенням 1
if char not in char_count:
char_count[char] = 1
# Якщо символ вже зустрічався, збільшуємо значення в словнику на 1
else:
char_count[char] += 1
# Повертаємо словник
return char_count
Ці програми можна запустити в середовищі Python. Для цього потрібно скопіювати код в файл з розширенням .py та запустити його в інтерпретаторі Python за допомогою команди python <ім'я_файлу>.py. Після цього програма виведе результат виконання на екран або записує його в файл. Для передачі списків у функції або для введення-виведення даних з файлів можна використовувати стандартні методи мови Python.