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 string – Bir 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
Geri bildirim: Python Öğrenmek için Hızlı Infographic Kılavuz - Bilişim Profesyonelleri