Python Interview questions

from __future__ import print_function

------------------------------------------------
How to reverse a string in Python?
------------------------------------------------
data = "aha"
print(data)
revdata = ''.join(reversed(data))
print(revdata)

------------------------------------------------
Regex to parse value(that starts with 'hdfs') 
for Keyword 'Location'
------------------------------------------------
def Get_location(data):
    import re
    result = re.match('.*Location.*(hdfs:.*)', data)
    if result:
        parsed = result.group(1)
        return parsed
    else:
        return None
    
print(Get_location("Location   hdfs://someserver/home/someuser/"))

------------------------------------------------
Split using Regex
------------------------------------------------
import re
data = "This is a#data"
result = re.split("[ #]", data)
print(result)

------------------------------------------------
How to print Directory Content?
------------------------------------------------
from __future__ import print_function
def Print_dir(path):
    import os                                       
    for child in os.listdir(path):                
        #print("child -> ", child)
        absPath = os.path.join(path, child)
        if os.path.isdir(absPath):
            Print_dir(absPath)
        else:
            print("absPath -> ", absPath)            
            
Print_dir("./")

------------------------------------------------
List Operations in Python
(There is no Array ni Python or...)
------------------------------------------------
data = []

# Assign value of 1, 2, 3 & 4
data = range(1, 5)
print(data)

# Assign heterogeneous types
data = [1, "hello", 2.3]
print(data)

# Sort an List
data = [5, 3, 2, 9]
result = sorted(data)
print(result)

data = ['d', 'a', 'x', 'w', 'z']
result = sorted(data)
print(result)

------------------------------------------------
'List' comprehension example
------------------------------------------------
# A list of even numbers b/w 1 to 10
even = [x for x in range(1, 11) if x % 2 == 0]
print(even)

# Litte bit more complex
data = [x for x in range(1, 3) for y in range(3, 5)]
print(data)
[1, 1, 2, 2]

data = [x * y for x in range(1, 3) for y in range(3, 5)]
print(data)
[3, 4, 6, 8]

------------------------------------------------
'Dictionary' example
------------------------------------------------
data = {}
data['a'] = "val1"
data['b'] = "val2"
print(data)

------------------------------------------------
Load yaml file
------------------------------------------------
import yaml
import os
from __future__ import print_function
def Load_yaml(yamlfile):
    if os.path.exists(yamlfile):
        with open(yamlfile, 'rt') as fin:
            content = yaml.load(fin.read())
            print("content -> ", content)
    else:
        print("Logging config file not available : ", \
            yamlfile)
            
Load_yaml("test.yaml")
content ->  key1:val1 key2:val2