[Solved] index string by character


from itertools import zip_longest

list1 = ['one', 'two', 'twin', 'who']

chars = {}
for i, item in enumerate(zip_longest(*list1)):
    set1 = set(item)
    if None in set1:
        set1.remove(None)
    chars[i] = max(set1, key=item.count)

Without importing any library:

list1 = ['one', 'two', 'twin', 'who']

width = len(max(list1, key=len))

chars = {}

for i, item in enumerate(zip(*[s.ljust(width) for s in list1])):
    set1 = set(item)
    if ' ' in set1:
        set1.remove(' ')
    chars[i] = max(set1, key=item.count)

Output:

chars

{
  0: 't',
  1: 'w',
  2: 'o', 
  3: 'n'
}

"".join(chars.values())

'twon'

8

solved index string by character