It sounds like (to me personally) that you don't even have a handle on displaying graphical images on the screen which, as basic as it sounds, you won't understand any of the possible suggestions provided.
Let's try and start again: You say you have a data based inventory using an array to store the objects (string representations if I gather correctly) which is effectively a list of words. What does your current logic allow you to do with this?
- Does your inventory allow for items to be added/removed on the fly.
- Are your items made from class derived objects, or are they literally just string names?
- Is it a fixed size inventory?
This is just some of the information needed to be able to help present a suggestion that might work with your current system.
Now, secondly, Graphics related:
- What is your experience with graphics thus far?
- How much experience have you had with Pygame?
- What are your attempts in combining Pygame and your current Inventory?
- Does your current implementation display (even as words) in a visual environment? (SCREENSHOTS are incredibly useful here!)
Again, this is just some of the information needed to be able to help. With a question such as yours, it helps to break it down, not just for us, but for you to be able to actually think about different portions of such a system. Like you said, you are having problems with a drag and drop (which is ONE component of a Diablo 2 style system) and I'm sure you mentioned equipping, which would be different as it could deal with Inventory to character, as opposed to Inv to Inv. Other parts to consider: stackable items, being able to remove items in favor of new. There are so many potential components that it really does help to break down what you want the system to do.
I hope this helps,