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


উত্তর:


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.