পাইথনে একটি সেট সূচনা করতে কোঁকড়া ধনুর্বন্ধনী ব্যবহার করুন


105

আমি অজগর শিখছি, এবং সেটগুলি শুরু করার বিষয়ে আমার কাছে একটি নতুন প্রশ্ন আছে। পরীক্ষার মাধ্যমে, আমি আবিষ্কার করেছি যে একটি সেটটি এভাবে শুরু করা যেতে পারে:

my_set = {'foo', 'bar', 'baz'}

এর স্ট্যান্ডার্ড পদ্ধতির বিপরীতে এটি এইভাবে করার কোনও অসুবিধা আছে:

my_set = set(['foo', 'bar', 'baz'])

বা এটি কি কেবল স্টাইলের প্রশ্ন?


4
ডকুমেন্টেশনটি কেবল এটির উল্লেখ করে না। নোট করুন যে এটি হ্রাস করা মডিউলটির ডকুমেন্টেশন, আসল সেটগুলি এখন অন্তর্নির্মিত। এটি "পাইথন ২.7-এ নতুন কী" নথিতে রয়েছে এবং ভাষার রেফারেন্সটি সংক্ষেপে এটি বর্ণনা করে: ডকস.পিথন.আর

@ ডেলানন আমি পাইথন ২.7 ব্যবহার করি, তাই আমি পাইথন 3 ডক্সে দেখার কথা ভাবিনি। আমি পোস্ট করা লিঙ্কটি ২.7 এর জন্য তবে এটি আশ্চর্যের সাথে এটি উল্লেখ করে না।
fvrghl

4
আমি যেহেতু আমার মন্তব্য সম্পাদনা করেছি, ২.7 ডক্সও এটি উল্লেখ করেছে। আপনার পোস্ট করা লিঙ্কটি পুরানো, অতীতের ভুল, ভুল, অবহিত। ভুলে যান যে এটি বিদ্যমান এবং এটি পরিবর্তে আপনাকে যা বলতে বলবে তা ব্যবহার করুন: ডকস.পিথথন.আর / 2 / লাইব্রেরি

@ ডেলান আমাকে সাহায্য করার জন্য ধন্যবাদ। আমি প্রশ্নটি সম্পাদনা করেছি যাতে আমি আর বলি না যে এটির জন্য কোনও ডকুমেন্টেশন নেই (যদিও অনলাইনে উল্লেখযোগ্য কয়েকটি উদাহরণ রয়েছে)।
fvrghl

পথচারীদের জন্য: পাইচার্ম একটি ফাংশন কল ব্যবহারের বিরুদ্ধে সতর্ক করেছে যখন কেউ আক্ষরিক ব্যবহার করতে পারে - পারফরম্যান্সের কারণ থাকতে পারে - সুতরাং নতুন কোডে সেটটি আক্ষরিক উপায়ে পছন্দ করুন
Mr_and_Mrs_D

উত্তর:


106

আক্ষরিক সিনট্যাক্স সেট নিয়ে দুটি সুস্পষ্ট সমস্যা রয়েছে:

my_set = {'foo', 'bar', 'baz'}
  1. পাইথন ২.7 এর আগে এটি উপলব্ধ নেই

  2. এই সিনট্যাক্সটি ব্যবহার {}করে একটি খালি সেট প্রকাশ করার কোনও উপায় নেই (ব্যবহার করে একটি খালি ডিক তৈরি করে )

এগুলি আপনার পক্ষে গুরুত্বপূর্ণ বা নাও হতে পারে।

এই বাক্য গঠনটির রূপরেখার সাথে ডক্সের বিভাগটি এখানে রয়েছে


50

একক শব্দের যুক্তির সাথে {}এবং এর মধ্যে পার্থক্যও তুলনা করুন set()

>>> a = set('aardvark')
>>> a
{'d', 'v', 'a', 'r', 'k'} 
>>> b = {'aardvark'}
>>> b
{'aardvark'}

কিন্তু উভয় aএবং bঅবশ্যই সেট।


4
সেজন্য আমি নিজেকে সেট কন্সট্রাক্টরকে ন্যায়বিচারের set([])চেয়ে মনে করিয়ে দিতে চাই set()
মাইকেল

4
set()সর্বদা একটি যুক্তি গ্রহণ। একক পুনরাবৃত্ত
জর্জ কেটলবরো

4
@ জর্জেট কেটলবোর একটি একক বা কোনও যুক্তি নয়, পরে একটি খালি সেট তৈরি করুন।
জার্মটভিডিজক

28

থেকে পাইথন 3 ডকুমেন্টেশন ( একই পাইথন 2.7 জন্য ঝুলিতে ):

কোঁকড়া ধনুর্বন্ধনী বা সেট () ফাংশন সেট তৈরি করতে ব্যবহার করা যেতে পারে। দ্রষ্টব্য: খালি সেট তৈরি করতে আপনাকে সেট () ব্যবহার করতে হবে, {} নয়; পরেরটি একটি খালি অভিধান তৈরি করে, একটি তথ্য কাঠামো যা আমরা পরবর্তী বিভাগে আলোচনা করব discuss

অজগর ২.7 এ:

>>> my_set = {'foo', 'bar', 'baz', 'baz', 'foo'}
>>> my_set
set(['bar', 'foo', 'baz'])

সচেতন যে হতে {}এছাড়াও জন্য ব্যবহার করা হয় map/ dict:

>>> m = {'a':2,3:'d'}
>>> m[3]
'd'
>>> m={}
>>> type(m)
<type 'dict'> 

সেটগুলি আরম্ভ করার জন্য কেউ বিস্তৃত বাক্য গঠন ব্যবহার করতে পারে:

>>> a = {x for x in """didn't know about {} and sets """ if x not in 'set' }
>>> a
set(['a', ' ', 'b', 'd', "'", 'i', 'k', 'o', 'n', 'u', 'w', '{', '}'])

1

empty_set = set()খালি সেটটি শুরু করতে আপনাকে করা দরকার । {}খালি dictaty হয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.