صفر و یک - برنامه نویسی - لینوکس

دست نوشته های شخصی من در مورد نرم افزار، سیستم عامل و برنامه نویسی لینوکس

صفر و یک - برنامه نویسی - لینوکس

دست نوشته های شخصی من در مورد نرم افزار، سیستم عامل و برنامه نویسی لینوکس

لیدورا یک وبلاگ تخصصی برنامه نویسی یا لینوکس نیست. بیشتر محلیه برای ثبت چیزهایی که قراره بیشتر از یه بار خونده بشن. اگه به درد شما هم خورد که زکات دانش ما پرداخت شده، شکر.

آخرین نظرات

نویسندگان

python

پایتون زبان بزرگ و قدرتمندیه که کار باهاش از نظر من بسیار لذت بخش و دوست داشتنیه. بسیاری از ویژگی‌های پایتون فقط توی این زبان دیده می‌شه و توی هیچ زبانی مشابهشون پیدا نمیشه. در این سری پست‌ها این ویژگی‌ها رو معرفی می‌کنم.

 

۶- zip و unzip کردن لیست‌ها

>>> a = [1, 2, 3]
>>> b = ['a', 'b', 'c']
>>> z = zip(a, b)
>>> z
[(1, 'a'), (2, 'b'), (3, 'c')]
>>> zip(*z)
[(1, 2, 3), ('a', 'b', 'c')]

 

۷- برعکس کردن دیکشنری با استفاده از zip

>>> m = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
>>> m.items()
[('a', 1), ('c', 3), ('b', 2), ('d', 4)]
>>> zip(m.values(), m.keys())
[(1, 'a'), (3, 'c'), (2, 'b'), (4, 'd')]
>>> mi = dict(zip(m.values(), m.keys()))
>>> mi
{1: 'a', 2: 'b', 3: 'c', 4: 'd'}

 

۸- بدست آوردن کوچکترین و بزرگترین اعضای لیست

>>> a = [random.randint(0, 100) for __ in xrange(100)]
>>> heapq.nsmallest(5, a)
[3, 3, 5, 6, 8]
>>> heapq.nlargest(5, a)
[100, 100, 99, 98, 98]

 

۹- جایگشت

>>> for p in itertools.permutations([1, 2, 3, 4]):
...     print ''.join(str(x) for x in p)
...
1234
1243
1324
1342
1423
1432
2134
2143
2314
2341
2413
2431
3124
3142
3214
3241
3412
3421
4123
4132
4213
4231
4312
4321

 

۱۰- زیرمجموعه

>>> a = [1, 2, 3, 4]
>>> for subset in itertools.chain.from_iterable(itertools.combinations(a, n) for n in range(len(a) + 1))
...     print subset
...
()
(1,)
(2,)
(3,)
(4,)
(1, 2)
(1, 3)
(1, 4)
(2, 3)
(2, 4)
(3, 4)
(1, 2, 3)
(1, 2, 4)
(1, 3, 4)
(2, 3, 4)
(1, 2, 3, 4)

 

این‌ها را هم ببینید:

ویژگی‌هایی از پایتون که شما ممکن است ندانید - قسمت دوم

 

نظرات  (۵)

عالی بود. ای کاش توی دانشگاه روز اول که برنامه نویسی شروع میکنن یاد دادن از همین پایتون شروع کنن واقعا دستوراتش قابل فهم تر از سی پلاسه. تازه اونم برای کسی که رشته کامپیوتر نیست و به جای علاقه مند شدن همون اول زده میشه.
دروود 
بنده به کمک جمعی از همکاران و دانشجویان زبان ، سایتی را راه اندازی کرده ایم که در آن منابع معتبر آموزشی زبان های خارجه را برای دانلود با لینک مستقیم قرار می دهیم. برای هر پست زحمت بسیار زیادی کشیده می شود و برای تولید هر یک از مطالب سایت زمان زیادی صرف می شود . البته فعلا بخش زبان انگلیسی سایت راه اندازی شده و به زودی به کمک همکاران بخش های دیگر سایت نیز راه اندازی می شوند. سعی ما بر این است تا هر روز حداقل یک منبع آموزشی را سعی ما بر این است تا هر روز حداقل یک منبع آموزشی را معرفی نماییم. منت می گذارید که به سایت ما نگاهی بیاندازید و نظرات سازنده خود را به ما ارائه دهید. همچنین باعث افتخار و دلگرمی ما برای ادامه راه می باشد که اگر سایت ما را قابل دانستید آن را با عنوان "آموزش زبان" در سایت خود لینک نمایید.
با تشکر
۰۲ آبان ۹۶ ، ۱۶:۲۱ فاروق کریمی زاده
تا جایی که من میدونم، دیکشنری‌ها ترتیب ندارند(دیکشنری‌های خود پایتون، یعنی توکار).

>>> {'a':1, 'b':2}=={'b':2, 'a':1}
True
>>> 
پاسخ:
درست متوجه نشدید برعکس کردن اعضا نبود منظور برعکس کردن عناصر بود دوباره به مثال نگاه کنید.
۲۷ آبان ۹۶ ، ۰۷:۴۸ آموزش برنامه نویسی
برای شروع برنامه نویسی اول باید چکار کرد.
پاسخ:
حتما یه دوره ویدیویی یا یه کلاس برید. سعی کنید با استفاده از کتاب کار رو شروع نکنید.
۱۷ دی ۹۶ ، ۱۹:۵۶ فاروق کریمی زاده
بله متوجه شدم.
راستی بنظرت بهتر نیست با کتاب شروع کنیم؟باید به خوندن کتاب و مستندات عادت کنیم(خودم هم با کتاب شروع کردم)

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی