উদাহরণস্বরূপ, আমি একটি স্ট্রিং পাই:
str = "please answer my question"
আমি এটি একটি ফাইলে লিখতে চাই।
তবে ফাইলটিতে স্ট্রিং লেখার আগে আমাকে স্ট্রিংয়ের আকারটি জানতে হবে। স্ট্রিংয়ের আকার গণনা করতে আমি কোন ফাংশন ব্যবহার করতে পারি?
উদাহরণস্বরূপ, আমি একটি স্ট্রিং পাই:
str = "please answer my question"
আমি এটি একটি ফাইলে লিখতে চাই।
তবে ফাইলটিতে স্ট্রিং লেখার আগে আমাকে স্ট্রিংয়ের আকারটি জানতে হবে। স্ট্রিংয়ের আকার গণনা করতে আমি কোন ফাংশন ব্যবহার করতে পারি?
উত্তর:
আপনি যদি স্ট্রিংয়ের দৈর্ঘ্যের কথা বলছেন তবে আপনি ব্যবহার করতে পারেন len()
:
>>> s = 'please answer my question'
>>> len(s) # number of characters in s
25
যদি আপনার বাইটগুলিতে স্ট্রিংয়ের আকার প্রয়োজন হয় তবে আপনার প্রয়োজন sys.getsizeof()
:
>>> import sys
>>> sys.getsizeof(s)
58
এছাড়াও, আপনার স্ট্রিং ভেরিয়েবল কল করবেন না str
। এটি বিল্ট-ইন str()
ফাংশনটির ছায়া দেয় ।
sys.getsizeof
পাইথন অবজেক্টটি মেমরিতে দখল করে এমন বাইটের সংখ্যা প্রদান করে। এটি কোনও পরিস্থিতিতে কোনও ফাইলে লেখার জন্য কার্যকর হবে না।
len(s.encode('utf8'))
বা অন্য যে কোনও এনকোডিং ফাইলটিতে লেখার সময় ব্যবহার করা হবে। এছাড়াও, তারা যদি একটি সমাপ্তি নালও চায় তবে তাদের জন্য তাদের জন্য 1 যুক্ত করতে হবে।
user225312 এর উত্তর সঠিক:
উ:str
অবজেক্টে অক্ষরের সংখ্যা গণনা করতে আপনি len()
ফাংশনটি ব্যবহার করতে পারেন :
>>> print(len('please anwser my question'))
25
বি। স্টোরের জন্য বরাদ্দ করা বাইটগুলিতে মেমরির আকার পেতে str
, আপনি sys.getsizeof()
ফাংশন ব্যবহার করতে পারেন
>>> from sys import getsizeof
>>> print(getsizeof('please anwser my question'))
50
পাইথন 2 এর জন্য এটি জটিল হয়ে ওঠে।
উ:len()
পাইথন ফাংশন 2 আয় দোকান থেকে বরাদ্দ বাইটের গণনা অক্ষরের এনকোড একটি str
অবজেক্ট।
কখনও কখনও এটি অক্ষর গণনার সমান হবে:
>>> print(len('abc'))
3
তবে কখনও কখনও, এটি হবে না:
>>> print(len('йцы')) # String contains Cyrillic symbols
6
এর কারণ অভ্যন্তরীণভাবে ভেরিয়েবল-দৈর্ঘ্যের এনকোডিংটিstr
ব্যবহার করা যায় । সুতরাং, চরিত্রগুলি গণনা করার জন্য আপনার অবজেক্টটি কোন এনকোডিংটি ব্যবহার করছে তা জানা উচিত । তারপরে আপনি এটিকে অবজেক্টে রূপান্তর করতে এবং চরিত্রের গণনা পেতে পারেন:str
str
unicode
>>> print(len('йцы'.decode('utf8'))) #String contains Cyrillic symbols
3
বি । sys.getsizeof()
ফাংশনটি পাইথন 3 এর মতোই কাজ করে - এটি পুরো স্ট্রিং অবজেক্টটি সংরক্ষণ করার জন্য বরাদ্দ করা বাইটের গণনা প্রদান করে
>>> print(getsizeof('йцы'))
27
>>> print(getsizeof('йцы'.decode('utf8')))
32
>>> s = 'abcd'
>>> len(s)
4
আপনি কলামে উপাদানটির দৈর্ঘ্য গণনা করতে str.len () ব্যবহার করতে পারেন
data['name of column'].str.len()
সর্বাধিক পাইথোনিক উপায় হ'ল এটি ব্যবহার করা len()
। মনে রাখবেন যে এস্কেপ সিকোয়েন্সগুলির '\' অক্ষরটি গণনা করা হয়নি এবং সঠিকভাবে ব্যবহার না করা বিপজ্জনক হতে পারে।
>>> len('foo')
3
>>> len('\foo')
3
>>> len('\xoo')
File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \xXX escape