मैंने काफी अच्छी तरह से खोज की है और मुझे कोई उपयुक्त समाधान नहीं मिला है। मैं पायथन/प्रोग्रामिंग के लिए नया हूं, इसलिए मुझे मिलने वाली किसी भी सलाह की मैं सराहना करता हूं:

मैं स्ट्रिंगसेट से एक स्ट्रिंग खोजने की कोशिश कर रहा हूं, यहां मैं जो करने की कोशिश कर रहा हूं लेकिन मूल्य नहीं प्राप्त कर रहा हूं।

string_set = {'"123", "456", "789"'}
value = '123'

values_list = []

def fun():
    for i in string_set:
         if i in value:
             output=LookupTables.get('dynamo-table', i, {})
             
    return output

fun()

उपरोक्त का उपयोग करते हुए यदि यह मान स्ट्रिंगसेट में है तो यह उस मान को वापस कर देगा जो मेरी dynmodb तालिका में है। नहीं: मेरी तालिका में 5000 से अधिक मूल्य हो सकते हैं इसलिए मैं जल्द से जल्द संभव वापसी प्राप्त करना चाहता था।

0
John 15 अक्टूबर 2020, 16:48

4 जवाब

सबसे बढ़िया उत्तर

मुझे लगता है कि आप सिर्फ जांच कर रहे हैं कि 123 "123", "456", "789" में है या नहीं, क्योंकि आपने इसे सिंगल कोट्स में लपेटा था:

इसका प्रतिनिधित्व करने के लिए उपयोग करने देता है:

strset =  {"123", "456", "789"} 

क्या होगा यदि आपको उस अजीब चर का उपयोग करना है?

यह इसे प्रयोग करने योग्य प्रस्तुत करना चाहिए

strset = {'"123", "456", "789"'}

removed = next(iter(strset))
strset.update((removed).split())
strset.remove(removed)

strset = set([i.strip(",").strip('"') for i in strset])

एक और क्लीनर तरीका:

strset = {'"123", "456", "789"'}

exec(f"strset = {next(iter(strset))}")

print("123" in strset)

अब जाँचने के लिए कि क्या value वहाँ है:

if value in strset:
    #do code here
0
Ironkey 15 अक्टूबर 2020, 17:21

हो सकता है कि आपको अतिरिक्त '' सबसे पहले

string_set = {'"123", "456", "789"'}   # this set has just one value '"123", "456", "789"'

string_set_fixed =  {"123", "456", "789"} 
1
辜乘风 15 अक्टूबर 2020, 16:59

ये कोशिश करें:

string_set = {"123", "456", "789"}
value = '123'

values_list = []

def fun():
    if value in string_set:
        output = LookupTables.get('dynamo-table', value, {})
    return output

fun()

व्याख्या:

  • string_set की आपकी परिभाषा में ' ' की एक बाहरी जोड़ी है;
  • जब आप i in value का परीक्षण कर रहे हैं, तो आप i की तुलना value के सभी सबस्ट्रिंग से कर रहे हैं, न कि पूरे स्ट्रिंग से।
0
Stef 15 अक्टूबर 2020, 17:01

मैं उद्देश्य पर दोहरे उद्धरण चिह्नों के अंदर तत्वों को मान रहा हूं। तो इसे आजमाएं:

string_list = list(string_set)[0].split(',')
string_list = [string.replace('"', '').strip() for string in string_list]
value = '123'

values_list = []

def fun():
    if value in string_list:
         output = LookupTables.get('dynamo-table', value, {}) 
         return output

fun()
0
Daniel Ben Zaken 15 अक्टूबर 2020, 17:22