python - `Var




python-3.x (2)

অ্যাসাইনমেন্ট অপারেটরের বাম এবং ডানে কীভাবে স্লাইসগুলি আচরণ করে তা আমি সাধারণত বুঝতে পারি।

যাইহোক, আমি পাইথন (3.8.0) ম্যানুয়ালটিতে এটি দেখেছি এবং আমি কী অনুপস্থিত তা নির্ধারণের চেষ্টা করছি।

খালি তালিকার সাথে সমস্ত উপাদান প্রতিস্থাপন করে তালিকাটি সাফ করুন

অক্ষর [:] = []

কীভাবে এটি কেবলমাত্র letters = [] থেকে পৃথক? letters = [] ?

(এটি অনুসন্ধান করা সহজ নয় [:] স্ট্যাকওভারফ্লো মনে করে আপনি ট্যাগ খুঁজছেন So সুতরাং, ইতিমধ্যে যদি উত্তর থাকে তবে আমি এটি সনাক্ত করতে পারি না))

আমি কিছু বরং অপ্রাসঙ্গিক উত্তর দেখতে পাচ্ছি। সুতরাং, আশাবাদী স্পষ্টতা হিসাবে, প্রশ্নটি [:] টুকরাটির অর্থ কী তা নয়, বরং খালি তালিকা একটিকে অর্পণ করার বিষয়ে।


অ্যাসাইনমেন্ট var = [] নামটি নতুন তৈরি হওয়া তালিকায় বাঁধায়। নামটির নামটি অন্য কোনও তালিকার সাথে আবদ্ধ থাকতে পারে বা নাও থাকতে পারে এবং যদি তা থাকে তবে সেই তালিকাটি অপরিবর্তিত থাকবে।

অন্যদিকে, var[:] = [] প্রত্যাশা করে যে ইতিমধ্যে var একটি তালিকার সাথে আবদ্ধ হয়ে গেছে এবং সেই তালিকাটি জায়গায় জায়গায় পরিবর্তিত হয়েছে।

এ কারণেই এই দুটি ক্ষেত্রে আচরণ আলাদা:

var1 = [1, 2, 3]
var2 = var1
var1 = []
print(var1, var2)  # prints [] [1, 2, 3]

var1 = [1, 2, 3]
var2 = var1
var1[:] = []
print(var1, var2)  # prints [] []

এই কোডটি যা চলছে তা দেখায়:

original = ['a','b','c']

letters = original

print('Same List')
print(original)
print(letters)

letters = []

print('Different lists')
print(original)
print(letters)

letters = original

letters[:] = []

print('Same list, but empty')
print(original)
print(letters)

আউটপুট:

Same List
['a', 'b', 'c']
['a', 'b', 'c']
Different lists
['a', 'b', 'c']
[]
Same list, but empty
[]
[]

কোডের প্রথম অংশ: letters = original অর্থ উভয় ভেরিয়েবল একই তালিকাকে উল্লেখ করে।

দ্বিতীয় অংশ: letters = [] দেখায় যে দুটি ভেরিয়েবল এখন বিভিন্ন তালিকাতে উল্লেখ করে।

তৃতীয় অংশ: letters = original; letters[:] = [] letters = original; letters[:] = [] উভয় ভেরিয়েবলের সাথে আবার একই তালিকার উল্লেখ করে শুরু হয় তবে তারপরে তালিকাটি নিজেই সংশোধিত হয় ( [:] ব্যবহার করে) এবং উভয় ভেরিয়েবলগুলি একই, তবে এখন পরিবর্তিত তালিকার উল্লেখ করে।





python-3.x