Yazılım Geliştirme

Herkesin bilmesi gereken 50 Python one-liners

I was always amazed by how easily things can be done using python. Some of the tedious tasks can be done in a single line of code using python. I have gathered some of my favorite one-liners from python. I have listed out 50 of them below with an example for each.

Python kullanarak işlerin ne kadar kolay yapılabileceğine her zaman şaşırdım. Bazı sıkıcı görevler, python kullanılarak tek bir kod satırında yapılabilir. Python’dan en sevdiğim tek gömleklerden bazılarını topladım. Her biri için birer örnekle 50 tanesini aşağıda listeledim.

1. Anagram

from collections import Counter

s1 = 'below'
s2 = 'elbow'

print('anagram') if Counter(s1) == Counter(s2) else print('not an anagram')

or we can also do this using the sorted() method like this.
(veya bunu sorted() yöntemini kullanarak da bunun gibi yapabiliriz.)

print('anagram') if sorted(s1) == sorted(s2) else print('not an anagram')

2. Binary to decimal – İkiliden ondalığa

decimal = int('1010', 2)
print(decimal) #10

3. Converting string to lower case – Dizeyi küçük harfe dönüştürme

"Hi my name is Allwin".lower()
# 'hi my name is allwin'
"Hi my name is Allwin".casefold()
# 'hi my name is allwin'

4. Converting string to upper case – Dizeyi büyük harfe dönüştürme

"hi my name is Allwin".upper()
# 'HI MY NAME IS ALLWIN'

5. Converting string to byte – Dizeyi bayta dönüştürme

"convert string to bytes using encode method".encode()
# b'convert string to bytes using encode method'

6. Copy files – Dosyaları kopyalayın

import shutil; shutil.copyfile('source.txt', 'dest.txt')

7. Quicksort – Hızlı sıralama

qsort = lambda l : l if len(l)<=1 else qsort([x for x in l[1:] if x < l[0]]) + [l[0]] + qsort([x for x in l[1:] if x >= l[0]])

8. Sum of n consecutive numbers – n ardışık sayının toplamı

sum(range(0, n+1))

This is not efficient and we can do the same using the below formula.
(Bu verimli değil ve aynısını aşağıdaki formülü kullanarak da yapabiliriz.)

sum_n = n*(n+1)//2

9. Swap two values – İki değeri değiştirin

a,b = b,a

10. Fibonacci series – Fibonacci serisi

lambda x: x if x<=1 else fib(x-1) + fib(x-2)]

11. Combine nested lists to a single list – İç içe geçmiş listeleri tek bir listede birleştirin

[item for sublist in main_list for item in sublist]

12. Run an HTTP server – Bir HTTP sunucusu çalıştırın

python3 -m http.server 8000

13. Reverse a list – Bir listeyi tersine çevirin

numbers[::-1]

14. Factorial of a number – Bir sayının faktöriyeli

import math; fact_5 = math.factorial(5)

15. List comprehension using “for” and “if” – “For” ve “if” kullanarak liste anlama

even_list = [number for number in [1, 2, 3, 4] if number % 2 == 0]
# [2, 4]

16. Longest string from a list – Listedeki en uzun dize

# words = ['This', 'is', 'a', 'list', 'of', 'words']max(words, key=len)# 'words'

17. List comprehension – Liste anlama

li = [num for num in range(0,100)]
# this will create a list of numbers from 0 to 99

18. Set comprehension – Anlamayı ayarlayın

num_set = { num for num in range(0,100)}
# this will create a set of numbers from 0 to 99

19. Dictionary comprehension – Sözlük anlama

dict_numbers = {x:x*x for x in range(1,5) }
# {1: 1, 2: 4, 3: 9, 4: 16}

20. if-else

print("even") if 4%2==0 else print("odd")

21. Infinite while loop – Sonsuz while döngüsü

while 1:0

22. Check the data type – Veri türünü kontrol edin

isinstance(2, int)
isinstance("allwin", str)
isinstance([3,4,1997], list)

23. While loop – Döngü sırasında

a=5
while a > 0: a = a - 1; print(a)

24. Write to a file using the print statement – print deyimini kullanarak bir dosyaya yazın

print("Hello, World!", file=open('file.txt', 'w'))

25. Count the frequency of a character in a stringBir dizedeki bir karakterin sıklığını sayın

print("umbrella".count('l'))# 2

26. Merge two listsİki listeyi birleştirin

list1.extend(list2)# contents of list 2 will be added to the list1

27. Merge two dictionaries – İki sözlüğü birleştirin

dict1.update(dict2)
# contents of dictionary 2 will be added to the dictionary 1

28. Merge two sets – İki seti birleştirin

set1.update(set2)
# contents of set2 will be copied to the set1

29. Timestamp – Zaman damgası

import time; print(time.time())

30. Most frequent element – En sık görülen unsur

numbers = [9, 4, 5, 4, 4, 5, 9, 5, 4]
most_frequent_element = max(set(test_list), key=test_list.count)
# 4

However, this is not efficient and we can do the same using the collections module in a more efficient way like this.
(Ancak, bu e edilmez f ficient ve biz koleksiyonları böyle daha verimli bir şekilde modülü kullanılarak aynısını yapabilirsiniz.)

numbers = [9, 4, 5, 4, 4, 5, 9, 5, 4]

from collections import Counter
print(Counter(numbers).most_common()[0][0])# 4

31. Nested list comprehension – İç içe liste anlama

numbers = [[num] for num in range(10)]
# [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]

32. Octal to decimal – Sekizden ondalığa

print(int('30', 8)) 
# 24

33. Convert key-value pair to dictionary – Anahtar/değer çiftini sözlüğe dönüştürün

dict(name='allwin', age=23)

34. Get quotient and remainder – Bölüm ve kalanı alın

quotient, remainder = divmod(4,5)

35. Remove duplicate elements from a list – Listeden yinelenen öğeleri kaldırın

list(set([4, 4, 5, 5, 6]))

36. Sort list in ascending order – Listeyi artan düzende sıralayın

First, let us sort the list using the sorted() method. The sorted method will return the sorted list.
(Öncelikle sorted() metodunu kullanarak listeyi sıralayalım. sorted yöntemi , sıralanmış listeyi döndürür.)

sorted([5, 2, 9, 1])# [1, 2, 5, 9]

Next, let us sort this using the sort() method. The sort() method will sort the original list and not return anything.
(Ardından, sort() yöntemini kullanarak bunu sıralayalım. sort() yöntemi, orijinal listeyi sıralar ve hiçbir şey döndürmez.)

li = [5, 2, 9, 1]
li.sort()

print(li)
# 1, 2, 5, 9

37. Sort list in descending order – Listeyi azalan düzende sıralayın

sorted([5, 2, 9, 1], reverse=True)# [9, 5, 2, 1]

38. Get a string of lower-case alphabets – Bir dizi küçük harfli alfabe alın

import string; print(string.ascii_lowercase)
# abcdefghijklmnopqrstuvwxyz

39. Get a string of upper case alphabets – Bir dizi büyük harfli alfabe alın

import string; print(string.ascii_uppercase)
# ABCDEFGHIJKLMNOPQRSTUVWXYZ

40. Get a string of digits from 0 to 9 – 0’dan 9’a kadar bir sayı dizisi alın

import string; print(string.digits)
# 0123456789

41. Hexadecimal to decimal – Onaltılı sayıdan ondalık sayıya

print(int('da9', 16))
# 3497

42. Human readable DateTime – İnsan tarafından okunabilir DateTime

import time; print(time.ctime())
# Thu Aug 13 20:16:23 2020

43. Convert a list of strings to integers – Dize listesini tam sayılara dönüştürün

list(map(int, ['1', '2', '3']))
# [1, 2, 3]

44. Sort dictionary with keys – Sözlüğü tuşlarla sıralayın

# {'one': 1, 'four': 4, 'eight': 8}
{key:d[key] for key in sorted(d.keys())}
# {'eight': 8, 'four': 4, 'one': 1}

45. Sort dictionary with values – Sözlüğü değerlerle sıralayın

# x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
{k: v for k, v in sorted(x.items(), key=lambda item: item[1])}
# {0: 0, 2: 1, 1: 2, 4: 3, 3: 4}

46. Rotate a list – Listeyi döndürün

# li = [1,2,3,4,5]# right to left
li[n:] + li[:n] # n is the no of rotations
li[2:] + li[:2]
[3, 4, 5, 1, 2]# left to right
li[-n:] + li[:-n]
li[-1:] + li[:-1]
[5, 1, 2, 3, 4]

47. Remove numbers from a string – Bir diziden sayıları çıkarın

''.join(list(filter(lambda x: x.isalpha(), 'abc123def4fg56vcg2')))
# abcdeffgvcg

48. Transpose matrix – Matris devrik

list(list(x) for x in zip(*old_list))
# old_list = [[1, 2, 3], [3, 4, 6], [5, 6, 7]]
# [[1, 3, 5], [2, 4, 6], [3, 6, 7]]

49. Filter even numbers from a list – Listeden çift sayıları filtreleyin

list(filter(lambda x: x%2 == 0, [1, 2, 3, 4, 5, 6] ))
# [2, 4, 6]

50. Unpacking values – Paket açma değerleri

a, *b, c = [1, 2, 3, 4, 5]
print(a) # 1
print(b) # [2, 3, 4]
print(c) # 5

Çözüm

Tüm bu one-liners içeren Github depomun bağlantısını bu linkte sağladım. Daha şaşırtıcı one-liners katkısında bulunmaktan çekinmeyin. Mutlu kodlamalar!

Makalenin orjinal kaynağını bu linkten okuyabilirsiniz

One thought on “Herkesin bilmesi gereken 50 Python one-liners

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.