# You're given strings J representing the types of stones that are jewels, 
# and S representing the stones you have.  Each character in S is a type of 
# stone you have.  You want to know how many of the stones you have are also 
# jewels.

# The letters in J are guaranteed distinct, and all characters in J and S are 
# letters. Letters are case sensitive, so "a" is considered a different type of 
# stone from "A".

# Example 1:

# Input: J = "aA", S = "aAAbbbb"
# Output: 3
# Example 2:

# Input: J = "z", S = "ZZ"
# Output: 0

# Note:
# S and J will consist of letters and have length at most 50.
# The characters in J are distinct.

class Solution:
    def numJewelsInStones(self, J, S):
        """
        :type J: str
        :type S: str
        :rtype: int
        """
        jewels = set()
        for char in J:
            jewels.add(char)
        
        result = 0
        for stone in S:
            if stone in jewels:
                result += 1
        
        return result
@@ -67,17 +67,16 @@
  jewels,
- 
 %0A# and S
@@ -135,33 +135,32 @@
 n S is a type of
- 
 %0A# stone you hav
@@ -220,17 +220,16 @@
 are also
- 
 %0A# jewel
@@ -309,17 +309,16 @@
 nd S are
- 
 %0A# lette
@@ -389,17 +389,16 @@
  type of
- 
 %0A# stone
@@ -795,182 +795,61 @@
 set(
-)%0A        for char in J:%0A            jewels.add(char)%0A        %0A        result = 0%0A        for stone in S:%0A            if stone in jewels:%0A                result += 1%0A        
+J)%0A        result = %5Bstone in jewels for stone in S%5D%0A
 %0A   
@@ -860,14 +860,19 @@
  return 
+sum(
 result
+)

Make code more pythonic