Featured Post

8 Ways to Optimize AWS Glue Jobs in a Nutshell

Image
  Improving the performance of AWS Glue jobs involves several strategies that target different aspects of the ETL (Extract, Transform, Load) process. Here are some key practices. 1. Optimize Job Scripts Partitioning : Ensure your data is properly partitioned. Partitioning divides your data into manageable chunks, allowing parallel processing and reducing the amount of data scanned. Filtering : Apply pushdown predicates to filter data early in the ETL process, reducing the amount of data processed downstream. Compression : Use compressed file formats (e.g., Parquet, ORC) for your data sources and sinks. These formats not only reduce storage costs but also improve I/O performance. Optimize Transformations : Minimize the number of transformations and actions in your script. Combine transformations where possible and use DataFrame APIs which are optimized for performance. 2. Use Appropriate Data Formats Parquet and ORC : These columnar formats are efficient for storage and querying, signif

How to Count Vowels in Input Quickly

Here you'll know how python counts characters in the input. This is an interview question asked recently.

How to Count Vowels in Input Quickly


How to Count Vowels in Input String


Below is the Interview Question

Vowels = ('aeiou')

You need to check any vowels are present in the input string. Vowels means 'a', 'e', 'i', 'o', 'u'. The below function checks each character of input and compares it with the Vowels.

3 Steps to Count Vowels in Input


You can achieve this in three steps.

1. Create a function called 'my_vowel' (the name up to you)
2. Use Set & Intersection Method
3. Run the function

1. Created 'my_vowel' Function


#!usr/bin/python
#This function finds vowel counts
#welcome to my function
""" Optional description """
def my_vowel(a):
    vowels=set('aeiou')
    a_1= vowels.intersection(set(a))
# initialized the dictionary
    found = {'a' : 0, 'e' : 0, 'i' : 0, 'o' :, 'u' : 0}
    for indx in a_1:
        if indx in vowels:
            found[indx] += 1
     for k, v sorted(found.items():
        print(k,v)






I used vim editor to create a .py module with the name vowel.py. Below is the actual code.


Logic to count vowels in input


2. Used Set & Intersection Methods

- Set method converts the input string as a set (you aware about this in mathes)

- Intersect method extracts each character and compares it with a Dictionary (that I'have already defined).

- I used the IF condition to work this logic correctly and validate each character.


3. Result

I have imported the .py module to Python3. Then, I have supplied an input string. It is then validated and given the counts.

The result says, in the given string the vowels are like this:
a -> 0
e -> 1
i -> 0
o -> 1
u -> 0

using function counting of vowels


Bottom-line

  • As expected in the result we got counts for matching vowels.
  • It's very tricky and asked in most of the interviews
  • Test your function with various strings and improve your knowledge.

Comments

Popular posts from this blog

How to Fix datetime Import Error in Python Quickly

How to Check Kafka Available Brokers

SQL Query: 3 Methods for Calculating Cumulative SUM