2013-02-21 9 views
6

मैं स्ट्रिंग्स की एक सूची के माध्यम से एक खोज को कार्यान्वित करने की कोशिश कर रहा हूं, ऐसे संदर्भ में जहां str.startswith जैसे कुछ उपयोग करने का कोई तरीका नहीं है (यदि आप इसके बारे में उत्सुक हैं, तो मैं पूछताछ कर रहा हूं ऐप इंजन डेटास्टोर।) मैं प्रत्येक स्ट्रिंग को देखना चाहता हूं जिसमें एक निश्चित उपसर्ग है, चलो 'py' कहें।पायथन में गैर-ASCII वर्णों के लिए chr

मेरे पास तुलनात्मक ऑपरेटर हैं, इसलिए मैं सोच रहा था कि मैं इसे निम्नानुसार कार्यान्वित कर सकता हूं।

#pseudo code 
search = "py" 
search_strings_where(s > search, s < chr(ord(search[0]) + 1) 

chr(ord(search[0]) + 1) चरित्र सही खोज प्रश्न का पहला वर्ण के बाद lexicographical क्रम में है कि माना जाता है।

समस्या यह है कि यह काम नहीं करेगा। उदाहरण के लिए ord(u"‰") लें, जो 8240 लौटाता है। लेकिन इसे chr में डालकर फिर से एक त्रुटि उत्पन्न होती है।

ValueError: chr() arg not in range(256) 

मैं इसे कैसे हल कर सकता हूं?

EDIT बस यह काम करता है, यह जांचने के बाद, unichr के बारे में पता चला। अगर ऐसा होता है तो मैं एक जवाब लिखूंगा।

उत्तर

19

शायद unichr() उपयोग करते हैं, इस समारोह

+0

तैयार की जाएगी मैं unichr बारे में पता चला है, जबकि वेब पर आगे थोड़ा खोज। आपके उत्तर के लिए Thx। – bigblind

+0

@InbarRose उत्तर वास्तव में लिंक पर क्लिक किए बिना पर्याप्त जानकारी प्रदान करता है। ओपी का कहना है, "मुझे पता है कि 'chr' क्या करता है, यूनिकोड के बराबर क्या है?" एक शब्द उत्तर 'unichr' पर्याप्त होगा। संभवतः यह स्पष्ट किया गया है कि यह उपयोगी होगा, लेकिन यह * एक पूर्ण उत्तर है, भले ही यह छोटा हो। – Jack

+0

@ जैक नेक्रो बहुत? यह पोस्ट 2 साल पुराना है, उसके जवाब के बारे में मेरी टिप्पणी इसे संपादित करने से पहले है। तुम्हारा मतलब क्या है? और यह जवाब में क्या जोड़ता है? अब जब मेरा ध्यान इस पर खींचा गया है, तो मैं अपनी पिछली टिप्पणी को हटा सकता हूं - आम तौर पर मुझे लगता है कि कोई मेरी टिप्पणी को "अप्रचलित" के रूप में चिह्नित करेगा लेकिन मुझे लगता है कि यह भी काम करता है। –

संबंधित मुद्दे