পাইথন লাইব্রেরিতে কি সমস্ত আসকি চরিত্রের তালিকা রয়েছে?


উত্তর:


168

stringধ্রুবক কি আপনি চান হতে পারে। ( ডকস )

>>> আমদানি স্ট্রিং
>>> স্ট্রিং.এএসসিআই_উপরেসেস
'এবিসিডিডিএফজিআইজিএইচএমএমইউপিকিআরএসটিইউডাব্লুএক্সএইচজেড'

আপনি যদি সমস্ত মুদ্রণযোগ্য অক্ষর চান:

>>> স্ট্রিং.প্রিন্টেবল
'0123456789 এ্যাবসিডিফঝিজক্ল্ম্মনোপিক্রাস্টুউব্যাক্সিজএবিসিডিএফজিআইজিএলএমএনওপিকিআরএসটিইউডাব্লুএক্সএইজেড! "# $% & \' () * +, -। /:?! @ [\\] ^ _` {

4
আমার মনে হয় এটা একটু বিভ্রান্তিকর হয়, হওয়া ASCII থেকে নয় aথেকে zকিন্তু 0 127 কোডগুলি থেকে, যে শুধুমাত্র অক্ষর নয়।
— অ্যান্ড্রে

4
string.ascii_lettersপুরো শেবাং কি!
— জ্যাথানিজম

4
@ জাথানিজম - অথবা ঠিক string.letters... string.printableঅ্যানড্রে যা উল্লেখ করেছেন তার থেকে খুব কাছাকাছি (তবে এক নয়)।
— জো কিংটন

আমি মনে করি এটি আসলে ওপিতে প্রতিটি একক চরিত্রের প্রয়োজন কিনা তার উপর নির্ভর করে। string.printableসমস্ত মুদ্রণযোগ্য অক্ষর দেয়।
— আকৃতি

প্রশ্নের শিরোনাম পরিষ্কার (এবং এটি পুরো ASCII সেটকে বোঝায়) তবে উদাহরণস্বরূপ দেখে মনে হচ্ছে ওপি সত্যিই চিঠি চায়।
— অ্যান্ড্রে

32

এটা এখানে:

[chr(i) for i in xrange(127)]

প্রদত্ত যে Stringমডিউল নিন্দা করা হয়েছে, এই শ্রেষ্ঠ উত্তর
— ডিভন এম

4
@ চকফুলমিনতা, stringমডিউলটি অবহেলা করা হয়নি। দেখুন এই উদাহরণস্বরূপ,।
— dkasak

@ ডকাসাক শীতল ধন্যবাদ, আমি ভুলে গিয়েছি, stringমডিউলটি কেবলমাত্র আংশিকভাবে হ্রাস পেয়েছে
— ডিভন এম

4
এও মনে রাখবেন যে পাইথন 3 এ আপনার কল করা উচিত range(127), যেহেতু rangeঅপসারণ ও xrangeপুনরায় নামকরণ করা হয়েছিল। এছাড়াও, পাইথন 2 এ ইউনিকোড অক্ষর পেতে আপনার কল করা উচিত unichr(i)কিন্তু পাইথন 3 তে কেবলchr(i)
— বেঞ্জ

4
এটি 0-127 এর জন্য পরিসর (128) হওয়া উচিত নয়?
— আনাদাকোথেক

14

এএসসিআইআই 128 টি অক্ষর সংজ্ঞায়িত করে যার বাইট মান 0 থেকে 127 সহ অন্তর্ভুক্ত। সুতরাং সমস্ত ASCII অক্ষরের একটি স্ট্রিং পেতে, আপনি ঠিক করতে পারেন

''.join([chr(i) for i in range(128)])

এর মধ্যে কেবল কয়েকটি মুদ্রণযোগ্য, তবে- প্রিন্টযোগ্য এএসসিআইআই অক্ষর পাইথনের মাধ্যমে অ্যাক্সেস করা যায়

import string
string.printable

4

যেহেতু ASCII মুদ্রণযোগ্য অক্ষরগুলি একটি সুন্দর ছোট তালিকা (32 এবং 127 এর মধ্যে মান সহ বাইটস), আপনার প্রয়োজন হলে উত্পন্ন করা যথেষ্ট সহজ:

>>> for c in (chr(i) for i in range(32,127)):
...     print c
... 

!
"
#
$
%
... # a few lines removed :)
y
z
{
|
}
~

3
for i in range(0,128):
    print chr(i)

এটা চেষ্টা কর!


ASCII হবে range(0, 128)।
— dan04

@ ডান04 @ লিউসেমিয়া এএসসিআইআই 0 থেকে 127 পর্যন্ত , বর্ধিত কোডগুলি 255 অবধি রয়েছে
— অ্যান্ড্রে

4
@ আন্দ্রে: এএসসিআইআই 0 থেকে 127 এর মধ্যে রয়েছে তাই পাইথনে রেঞ্জ (0, 128)। (অন্যান্য বেশ কয়েকটি
— উত্তরে

2

আপনি মডিউল ছাড়াই এটি করতে পারেন:

    characters = list(map(chr, range(97,123)))

টাইপ করুন charactersএবং এটি মুদ্রণ করা উচিত ["a","b","c", ... ,"x","y","z"]। বড় হাতের ব্যবহারের জন্য:

    characters=list(map(chr,range(65,91)))

যেকোন পরিসর (পরিসর পদক্ষেপের ব্যবহার সহ) এর জন্য ব্যবহার করা যেতে পারে, কারণ এটি ইউনিকোড ব্যবহার করে। অতএব, range()তালিকায় আরও অক্ষর যুক্ত করতে বাড়ান ।
map()এর chr()প্রতিটি পুনরাবৃত্তি কল করে range()।


-8

না, নেই, তবে আপনি সহজেই একটি তৈরি করতে পারেন:

    #Your ascii.py program:
    def charlist(begin, end):
        charlist = []
        for i in range(begin, end):
            charlist.append(chr(i))
        return ''.join(charlist)

    #Python shell:
    #import ascii
    #print(ascii.charlist(50, 100))
    #Comes out as:

    #23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc

11
গৃহীত উত্তরের পরিষ্কারভাবে উল্লেখ করার তিন বছর পরে string.printableআপনি দাবি করেন যে "না, নেই"?
— টোবিয়াস কেইনজলার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.