human
Can you provide a the Python code you requested given the following:
I found an interesting problem on https://leetcode.com/problems/reverse-only-letters/:
Given a string S, return the "reversed" string where all characters that are not a letter stay in the same place, and all letters reverse their positions.
 






Example 1:
Input: "ab-cd"
Output: "dc-ba"

Example 2:
Input: "a-bC-dEf-ghIj"
Output: "j-Ih-gfE-dCba"

Example 3:
Input: "Test1ng-Leet=code-Q!"
Output: "Qedo1ct-eeLg=ntse-T!"

 

Note:

S.length <= 100
33 <= S[i].ASCIIcode <= 122 
S doesn't contain \ or "

I tried it in Python, but could not do it. Can you solve it?
assistant
#Here is the Python code you requested.

class Solution:
    def reverseOnlyLetters(self, s: str) -> str:
        a={}
        j=0
        s=list(s)
        i=0
        while i<len(s):
            if not s[i].isalpha():
                a[i+j]=s[i]
                del s[i]
                j+=1
            else:
                i+=1
        s=s[::-1]
        for i in a:
            s.insert(i,a[i])
        return ''.join(s)