আমার এই মত একটি সেট আছে:
keep = set(generic_drugs_mapping[drug] for drug in drug_input)
[0,1,2,3,4,5,6,7,8,9,10]
এই সেটটিতে আমি কীভাবে মান যুক্ত করব ?
আমার এই মত একটি সেট আছে:
keep = set(generic_drugs_mapping[drug] for drug in drug_input)
[0,1,2,3,4,5,6,7,8,9,10]
এই সেটটিতে আমি কীভাবে মান যুক্ত করব ?
উত্তর:
keep.update(yoursequenceofvalues)
যেমন, keep.update(xrange(11))
আপনার নির্দিষ্ট উদাহরণের জন্য। অথবা, আপনি যদি আছে অন্য কোন কারণে একটি লুপ মান উত্পাদন
for ...whatever...:
onemorevalue = ...whatever...
keep.add(onemorevalue)
তবে, অবশ্যই, একটি একক .update
কল দিয়ে এটি প্রচুর পরিমাণে করা দ্রুত এবং হস্তান্তরযোগ্য, যখন অন্যথায় সম্ভব হয়।
.add
একটি একক হ্যাশযোগ্য প্রকারের .update
প্রত্যাশা করে , আবার প্রত্যাবর্তনযোগ্য বস্তুর প্রত্যাশা করে
.add
, না .update
, এই সামান্য বিবরণের কারণে সম্প্রতি আমি বেশ চঞ্চল বাগের মুখোমুখি হয়েছিলাম।
সেট নির্ধারণ করুন
a = set()
একক মান যুক্ত করতে অ্যাড ব্যবহার করুন
a.add(1)
a.add(2)
টিপলস, সেট, তালিকা বা হিমায়িত-সেট থেকে উপাদান যুক্ত করতে আপডেট ব্যবহার করুন
a.update([3,4])
>> print(a)
{1, 2, 3, 4}
আপনি যদি একটি টিপল বা হিমায়িত সেট নিজেই যুক্ত করতে চান তবে অ্যাড ব্যবহার করুন
a.add((5, 6))
>> print(a)
{1, 2, 3, 4, (5, 6)}
দ্রষ্টব্য: যেহেতু সেট উপাদানগুলি অবশ্যই হ্যাশযোগ্য এবং তালিকাগুলি পারস্পরিক পরিবর্তনযোগ্য হিসাবে বিবেচিত হয়, সুতরাং আপনি কোনও সেটে একটি তালিকা যুক্ত করতে পারবেন না। আপনি কোনও সেটটিতে অন্যান্য সেটও যুক্ত করতে পারবেন না। তবে আপনি ".আপডেট" পদ্ধতিতে প্রদর্শিত হিসাবে তালিকা এবং সেটগুলি থেকে উপাদান যুক্ত করতে পারেন।
আপনি |
দুটি সেট সংযুক্ত করতে অপারেটরটিও ব্যবহার করতে পারেন (সেট থিউরিতে ইউনিয়ন ):
>>> my_set = {1}
>>> my_set = my_set | {2}
>>> my_set
{1, 2}
বা একটি ছোট ফর্ম ব্যবহার করে |=
:
>>> my_set = {1}
>>> my_set |= {2}
>>> my_set
{1, 2}
দ্রষ্টব্য: পাইথন ২.7 এর পূর্ববর্তী সংস্করণগুলিতে set([...])
পরিবর্তে ব্যবহার করুন {...}
।
my_sets
, তবে আপনি big_set = my_sets[0].union(*my_sets[1:])
সেগুলি একত্রিত করতে পারেন
এই প্রশ্নটি প্রথমটি Google এ প্রদর্শিত হয় যখন কোনওটি "সেট করার জন্য কীভাবে পাইথনগুলিকে যুক্ত করতে হয়" তা দেখায়, সুতরাং এটি স্পষ্টভাবে লক্ষ করার মতো যে আপনি যদি একটি সেটে একটি পুরো স্ট্রিং যুক্ত করতে চান তবে এটি যুক্ত করা উচিত .add()
, না .update()
।
বলুন যে আপনার কাছে একটি স্ট্রিং রয়েছে foo_str
যার বিষয়বস্তু 'this is a sentence'
এবং আপনার bar_set
সমান কিছু সেট রয়েছে set()
।
আপনি যদি করেন তবে
bar_set.update(foo_str)
আপনার সেটের সামগ্রীগুলি হবে {'t', 'a', ' ', 'e', 's', 'n', 'h', 'c', 'i'}
।
আপনি যদি করেন তবে bar_set.add(foo_str)
আপনার সেটের সামগ্রীগুলি হবে {'this is a sentence'}
।
আমি যেভাবে এটি করতে চাই তা হ'ল মূল সেট এবং মানগুলিকে আমি তালিকাগুলিতে যুক্ত করতে, সেগুলিতে যুক্ত করতে এবং তারপরে সেগুলিকে আবার সেটগুলিতে রূপান্তর করা:
setMenu = {"Eggs", "Bacon"}
print(setMenu)
> {'Bacon', 'Eggs'}
setMenu = set(list(setMenu) + list({"Spam"}))
print(setMenu)
> {'Bacon', 'Spam', 'Eggs'}
setAdditions = {"Lobster", "Sausage"}
setMenu = set(list(setMenu) + list(setAdditions))
print(setMenu)
> {'Lobster', 'Spam', 'Eggs', 'Sausage', 'Bacon'}
এইভাবে আমি একই যুক্তি ব্যবহার করে খুব সহজেই একাধিক সেট যুক্ত করতে পারি, যা TypeError: unhashable type: 'set'
আমি যদি .update()
পদ্ধতিটি দিয়ে চেষ্টা করার চেষ্টা করি তবে এটি আমার হয়ে যায় ।
keep.update((0,1,2,3,4,5,6,7,8,9,10))
অথবা
keep.update(np.arange(11))
.add
একক আইটেম যুক্ত করে,.update
বেশ কয়েকটি আইটেম যুক্ত করে। এটা কি ঠিক?