সূত্র: আমার ব্লগ পোস্ট (আরও ভাল ফর্ম্যাটিং)
উদাহরণ
numbers = [1,2,3]
letters = 'abcd'
zip(numbers, letters)
# [(1, 'a'), (2, 'b'), (3, 'c')]
ইনপুট
শূন্য বা আরও বেশি পুনরাবৃত্তিযোগ্য [1] (উদা। তালিকা, স্ট্রিং, টিপল, অভিধান)
আউটপুট (তালিকা)
1 ম টিপল = (সংখ্যার উপাদান_1, বর্ণগুলির উপাদান_1)
২ য় টিউপল = (ই ৩ নম্বর, ই ২ টি অক্ষর)
...
n-th tuple = (e_n সংখ্যা, ই_ অক্ষর)
- এন টিপলসের তালিকা: n হ'ল সংক্ষিপ্ত আর্গুমেন্টের ইনপুট (ইনপুট)
- লেন (সংখ্যা) == 3 <লেন (অক্ষর) == 4 → সংক্ষিপ্ত = 3 3 3 টি টিপল ফেরত
- প্রতিটি টিউপল = দৈর্ঘ্যের দৈর্ঘ্য (টিপল প্রতিটি আর্গ থেকে একটি উপাদান নেয়)
- args = (সংখ্যা, অক্ষর); লেন (আরগস) == 2 টি 2 টি উপাদান দিয়ে টিপল
iম টিপল = (এলিমেন্ট_আই আর্গ 1, এলিমেন্ট_আই আরজি 2…, এলিমেন্ট_ আই আর্গ n)
এজ কেস
1) খালি স্ট্রিং: লেন (স্ট্র) = 0 = কোনও টিপল নেই
২) একক স্ট্রিং: লেন (স্ট্র) == লেন (টিপস) সহ ২ টি টিপল == ১ টি উপাদান
zip()
# []
zip('')
# []
zip('hi')
# [('h',), ('i',)]
জিপ ইন অ্যাকশন!
1. দুটি তালিকার মধ্যে একটি অভিধান তৈরি করুন [2]
keys = ["drink","band","food"]
values = ["La Croix", "Daft Punk", "Sushi"]
my_favorite = dict( zip(keys, values) )
my_favorite["drink"]
# 'La Croix'
my_faves = dict()
for i in range(len(keys)):
my_faves[keys[i]] = values[i]
zip একটি মার্জিত, পরিষ্কার, এবং সংক্ষিপ্ত সমাধান
২. একটি টেবিলের মধ্যে কলাম মুদ্রণ করুন
"*" [3] কে "আনপ্যাকিং" বলা হয়: f(*[arg1,arg2,arg3]) == f(arg1, arg2, arg3)
student_grades = [
[ 'Morty' , 1 , "B" ],
[ 'Rick' , 4 , "A" ],
[ 'Jerry' , 3 , "M" ],
[ 'Kramer' , 0 , "F" ],
]
row_1 = student_grades[0]
print row_1
# ['Morty', 1, 'B']
columns = zip(*student_grades)
names = columns[0]
print names
# ('Morty', 'Rick', 'Jerry', 'Kramer')
অতিরিক্ত ক্রেডিট: আনজিপিং
zip(*args) একে "আনজিপিং" বলা হয় কারণ এর বিপরীত প্রভাব রয়েছে zip
numbers = (1,2,3)
letters = ('a','b','c')
zipped = zip(numbers, letters)
print zipped
# [(1, 'a'), (2, 'b'), (3, 'c')]
unzipped = zip(*zipped)
print unzipped
# [(1, 2, 3), ('a', 'b', 'c')]
unzippedপ্রতিটি জিপড টিপলটির tuple_1 = e1। tuple_2 = প্রতিটি এর e2zipped
পাদটিকা
- একটি সদস্য তার সদস্যদের একবারে ফেরত দিতে সক্ষম (উদাহরণস্বরূপ [1,2,3], স্ট্রিং 'আমার কোডিন পছন্দ করে', টিপল (1,2,3), অভিধান {'এ': 1, 'বি' : 2})
- {কী 1: মান 1, কী 2: মান 2 ...
- "আনপ্যাকিং" (*)
* কোড:
# foo - function, returns sum of two arguments
def foo(x,y):
return x + y
print foo(3,4)
# 7
numbers = [1,2]
print foo(numbers)
# TypeError: foo() takes exactly 2 arguments (1 given)
print foo(*numbers)
# 3
*নেন numbers2 args মধ্যে (1 ARG) এবং "প্যাক না" তার '2 উপাদান
zipকরছেন? কেন আপনার তিনটি তালিকা থাকা উচিত - এগুলি দেখতে কেমন হবে?