Made a sorting function
This will sort the special character in a specific order...
This commit is contained in:
parent
58a99e2e37
commit
c28c801b94
66
Divyansh_Bhardwaj/flo_function.py
Normal file
66
Divyansh_Bhardwaj/flo_function.py
Normal file
@ -0,0 +1,66 @@
|
||||
# Sort out the input list ending with special character according to the following weights if the symbols
|
||||
|
||||
# Weight of the symbols
|
||||
# @ - 3
|
||||
# * - 2
|
||||
# # - 1
|
||||
# $ - 0
|
||||
|
||||
# Input
|
||||
# ['abc#','def*','ghi@','jkl$','mno:','pqr#']
|
||||
|
||||
# Output
|
||||
# ['ghi@','def*','abc#''jkl$','mno:','pqr#']
|
||||
|
||||
# * Sorting should be done for list sets before and after the : keyword
|
||||
# * If a special word repeats, maintain original order
|
||||
|
||||
def flo_sorting(list):
|
||||
length = len(list)
|
||||
i = 0
|
||||
a = 0
|
||||
b = 0
|
||||
c = 0
|
||||
d = 0
|
||||
e = 0
|
||||
|
||||
list2 = []
|
||||
newlist = []
|
||||
|
||||
while i != length:
|
||||
if list[i][-1] == ':':
|
||||
e = list[i]
|
||||
list2 = list[i+1:]
|
||||
list2 = flo_sorting(list2)
|
||||
break
|
||||
elif list[i][-1] == '#':
|
||||
a = list[i]
|
||||
elif list[i][-1] == '*':
|
||||
b = list[i]
|
||||
elif list[i][-1] == '$':
|
||||
c = list[i]
|
||||
elif list[i][-1] == '@':
|
||||
d = list[i]
|
||||
else:
|
||||
break
|
||||
i = i+1
|
||||
if d != 0:
|
||||
newlist.append(d)
|
||||
if b != 0:
|
||||
newlist.append(b)
|
||||
if a != 0:
|
||||
newlist.append(a)
|
||||
if c != 0:
|
||||
newlist.append(c)
|
||||
if e != 0:
|
||||
newlist.append(e)
|
||||
if list2 == []:
|
||||
return newlist
|
||||
else:
|
||||
newlist = newlist+list2
|
||||
return newlist
|
||||
|
||||
|
||||
input = ['jkl$', 'def*', 'abc#', 'ghi@', 'mno:', 'pqr#', 'jkl$', 'def*']
|
||||
|
||||
print(flo_sorting(input))
|
||||
Loading…
Reference in New Issue
Block a user