initial commit
This commit is contained in:
commit
9937d30e6f
1 changed files with 62 additions and 0 deletions
62
string_operations.py
Normal file
62
string_operations.py
Normal file
|
@ -0,0 +1,62 @@
|
|||
"""Playground module for practicing adding type hints to
|
||||
Python code.
|
||||
|
||||
You may assume that the functions in this module operate on
|
||||
strings. Your type hints should be as generic as possible.
|
||||
|
||||
Disclaimer: This module was generated by https://claude.ai/.
|
||||
"""
|
||||
|
||||
|
||||
def reverse_string(s):
|
||||
return s[::-1]
|
||||
|
||||
def count_vowels(s):
|
||||
vowels = 'aeiouAEIOU'
|
||||
return sum(1 for char in s if char in vowels)
|
||||
|
||||
def is_palindrome(s):
|
||||
s = ''.join(char.lower() for char in s if char.isalnum())
|
||||
return s == s[::-1]
|
||||
|
||||
def find_longest_word(sentence):
|
||||
words = sentence.split()
|
||||
return max(words, key=len) if words else ''
|
||||
|
||||
def remove_duplicates(lst):
|
||||
return list(dict.fromkeys(lst))
|
||||
|
||||
def merge_sorted_lists(list1, list2):
|
||||
result = []
|
||||
i, j = 0, 0
|
||||
while i < len(list1) and j < len(list2):
|
||||
if list1[i] <= list2[j]:
|
||||
result.append(list1[i])
|
||||
i += 1
|
||||
else:
|
||||
result.append(list2[j])
|
||||
j += 1
|
||||
result.extend(list1[i:])
|
||||
result.extend(list2[j:])
|
||||
return result
|
||||
|
||||
def flatten_list(nested_list):
|
||||
flat_list = []
|
||||
for item in nested_list:
|
||||
if isinstance(item, list):
|
||||
flat_list.extend(flatten_list(item))
|
||||
else:
|
||||
flat_list.append(item)
|
||||
return flat_list
|
||||
|
||||
def calculate_average(numbers):
|
||||
return sum(numbers) / len(numbers) if numbers else 0
|
||||
|
||||
def find_common_elements(list1, list2):
|
||||
return list(set(list1) & set(list2))
|
||||
|
||||
def rotate_list(lst, k):
|
||||
if not lst:
|
||||
return lst
|
||||
k = k % len(lst)
|
||||
return lst[-k:] + lst[:-k]
|
Loading…
Reference in a new issue