Python'da dizelerle çalışıryorken, bir dizeyi alt dizelere bölmemiz veya bir dize oluşturmak için daha küçük parçaları birleştirmeniz gerekebilir. Python'un split()ve join()string yöntemleri, bu görevleri kolayca yapmanıza yardımcı olur.

Bu öğreticide, çok sayıda örnek kodla split()ve join()dize yöntemleri hakkında bilgi edineceksiniz .

Python'daki dizeler değişmez olduğundan, orijinal dizeleri değiştirmeden üzerlerinde yöntemleri çağırabilirsiniz. 

Python split()Yöntem Sözdizimi

Bir dizgiyi alt dizgilere bölmeniz gerektiğinde, split()yöntemi kullanabilirsiniz .

split()Yöntem, bir ipe davranır ve döner alt dizeleri bir listesini. Sözdizimi:

<string>.split(sep,maxsplit)

Yukarıdaki sözdiziminde:

  • <string> geçerli herhangi bir Python dizesi,
  • sepbölmek istediğiniz ayırıcıdır. Bir dize olarak belirtilmelidir .
Örneğin, <string>bir virgülün geçtiği yeri bölmek isterseniz, ayarlayabilirsiniz sep = ",".
  • sepBir olan isteğe bağlı bir değişken. Varsayılan olarak, bu yöntem boşluklardaki dizeleri böler .
  • maxsplitBir olan isteğe bağlı bölmek istiyorum kaç kez gösteren argüman <string>.
  • maxsplit-1dizeyi tüm oluşumlarında bölen varsayılan bir değerine sahiptir sep.
İlk virgülün <string>oluşumuna göre bölmek isterseniz, ayarlayabilirsiniz .maxsplit = 1

Ve ayar maxsplit = 1size iki parça bırakacaktır - biri <string>ilk virgülden önceki bölümü ve diğeri <string>ilk virgülden sonraki bölümü olan .

Bir dizeyi bir kez böldüğünüzde 2 parça alırsınız. Bir dizeyi iki kez böldüğünüzde 3 parça elde edersiniz. Bir dizeyi kkez böldüğünüzde , k+1parçalar elde edersiniz .

▶ split()Yöntemi çalışırken görmek için birkaç örnek alalım .

Python split()Yöntem Örnekleri

my_stringAşağıda gösterilenle başlayalım .

my_string = "I code for 2 hours everyday"

Şimdi, argümanlar olmadan split()on yöntemini çağırın ve .my_stringsepmaxsplit

my_string.split()

Bunu görebilirsiniz my_stringyukarıda gösterildiği gibi, döndürülen tüm whitespaces üzerinde kuruldu mu bölünmüş ve alt dizeleri listesi.

▶ Şimdi aşağıdaki örneği inceleyelim. Burada my_stringvirgülle ayrılmış meyve isimleri var.

my_string = "Apples,Oranges,Pears,Bananas,Berries"

Şimdi my_stringvirgülle ayıralım – set sep = ","veya sadece ","metot çağrısında belirtin .

my_string.split(",")

Beklendiği gibi, split()yöntem , içindeki her meyvenin my_stringartık bir liste öğesi olduğu bir meyve listesi döndürür .

▶ Şimdi isteğe bağlı maxsplitargümanı da 2'ye eşitleyerek kullanalım .

my_string.split(",",2)

Döndürülen listeyi ayrıştırmayı deneyelim.

Hatırlatma; my_stringolduğunu "Apples,Oranges,Pears,Bananas,Berries"ve biz virgül üzerinde dağılma kararı ( ",").

  • İlk virgül after Apples'dir ve ilk bölmeden sonra 2 öğeniz olur   Applesve Oranges,Pears,Bananas,Berries.
  • İkinci virgül sonradır Oranges. Ve ikinci bölmeden sonra 3 öğeniz olacak, ApplesOranges, ve Pears,Bananas,Berries.
  • Bu noktada, maxsplit2'ye ulaştınız ve daha fazla bölme yapılamaz.
  • Bu nedenle, dizenin ikinci virgülden sonraki kısmı, döndürülen listede tek bir öğe olarak toplanır.

Umarım split()yöntemin, argümanların sepve maxsplitçalışmanın nasıl olduğunu anlamışsınızdır .

Python join()Yöntem Sözdizimi

Artık bir dizgiyi alt dizgilere nasıl ayıracağınızı bildiğinize göre join(), alt dizgilerden bir dizgi oluşturmak için yöntemi nasıl kullanacağınızı öğrenmenin zamanı geldi .

Python join()yönteminin sözdizimi şöyledir:

<sep>.join(<iterable>)

Buraya,

  • <iterable> alt dizeleri içeren herhangi bir Python yinelenebilir, örneğin bir liste veya bir demet ve
  • <sep> alt dizelere katılmak istediğiniz ayırıcıdır.
Özünde, join()yöntem tüm öğeleri ayırıcı olarak <iterable>kullanarak birleştirir <sep>.

▶ Ve sıra örneklere geldi.

Python join()Yöntem Örnekleri

split()Yöntemle ilgili önceki bölümde my_string, virgüllerin oluşumları üzerine bir listeye ayırdınız. Listeyi arayalım my_list.

Şimdi, join()döndürülen listedeki öğeleri bir araya getirme yöntemini kullanarak bir dize oluşturacaksınız . İçindeki öğelerin my_listtümü meyvelerin adlarıdır.

my_list = my_string.split(",")

# after my_string is split my_list is:
['Apples', 'Oranges', 'Pears', 'Bananas', 'Berries']