Tag Archives | python

Glade 3.36.0 duyuruldu

Gnome masaüstü ortamına, GTK+ araç kiti için hızlı ve kolay arayüzler sağlamak üzere geliştirlmiş bir RAD aracı olan Glade‘in 3.36.0 sürümü duyuruldu. GtkListBox için yer tutucu belirtmeye izin verildiği belirtilen yeni sürümde, GtkDialog ve GtkInfobar düğmeleriyle GtkResponseType kullanılmasına izin verildiği söyleniyor. FSF adresinin güncellendiği bilidirilirken, GtkStackSwitcher’a homojen özellik ekleme olanağının sağlandığı ifade ediliyor. Glade ile tasarlanmış kullanıcı arayüzleri XML biçeminde kaydedilir ve GtkBuilder nesnesi GTK arayüzü olarak biçemin dinamikleşmesini sağlar. GtkBuilder kullanarak Glade dosyalarını kullanan sayısız programlama dili vardır: Başta C olmak üzere C++, C#, Vala, Perl, Python, Java gibi. Glade, özgür bir yazılımdır ve GNU/GPL ile lisanslanmıştır. Glade tasarımcısıyla arayüzler oluşturmak şöyle bir kenarda dursun, peki ama bu dosyalar programda nasıl yer alır? Bunun için öncelikle dikkat etmemiz gereken GtkBuilder’dır. GtkBuilder, kaydedilen Glade .xml arayüz dosyalarının, programcı tarafından widget, window, dialog gibi gtk araçları olarak kullanılmasına imkân verir. Glade 3.36.0 hakkında daha geniş bilgi edinmek için haberler sayfasını inceleyebilirsiniz.

Continue Reading →

Glade 3.36.0 edinmek için şu linkten yararlanabilirsiniz.

0

SparkyLinux 2020.05 çıktı

Debian GNU/Linux tabanlı Polonya kökenli dağıtım SparkyLinux‘un 2020.05 sürümü çıktı. Henüz resmi duyurusu yapılmamış olan sürüme ait ISO kalıpları indirilmek üzere yansılarda yerini almış bulunuyor. Henüz resmi duyurusu yapılmamış olduğu için hakkında hemencecik bilgi edinme olanağı olmayan sürümün 5.6.7 Linux çekirdeği üzerine yapılandırılmış olarak geldiğini ve LXQt masaüstü ortamını kullanıma sunduğunu söyleyelim. Sistem; LibreOffice 6.4.3, Mozilla Firefox 75.0, Thunderbird 68.7.0 gibi güncel paketlerle kullanıma sunuluyor. UEFI makinelere Sparky kurulum desteği de içeren yeni sürüm, Calamares ve Sparky yükleyicilerle geliyor. SparkyLinux 2020.05 hakkında ayrıntılı bilgi edinmek için en azından şimdilik package-list dosyasını inceleyebilirsiniz.

Continue Reading →

SparkyLinux 2020.05 edinmek için aşağıdaki linklerden yararlanabilirsiniz.

0

20+ examples for flattening lists in Python

20+ examples for flattening lists in Python. Flattening lists means converting a multidimensional or nested list into a one-dimensional list. For example, the process of converting this [[1,2], [3,4]] list to [1,2,3,4] is called flattening. The process of flattening is very easy as we’ll see. You will learn how to flatten different shapes of lists with different techniques. So, let’s jump in. Let’s start with a simple example of converting [[0,1], [2,3]] into [0,1,2,3]. This type of flattening is called shallow flattening as it will only flatten lists of one level depth.

 

Continue Reading →

A list of lists

Let’s start with a simple example of converting [[0,1], [2,3]] into [0,1,2,3]. This type of flattening is called shallow flattening as it will only flatten lists of one level depth.

Using list comprehension

List comprehension is a way to create lists in one line of code. Let’s see how we can use list comprehension for flattening the lists.

flatten_list = [item for subl in l for item in subl]

Let’s break this line of code.

The first loop is “for subl in l” and the second nested loop is “ for item in subl ”.

Deep flattening

When we will try to flatten a list of varying depth like this [ [ 0, 1 ], [ [ 2 ] ][ 3, 4 ] ] list with shallow flattening, the output will be as follows:

But our goal is to convert [ [ 0, 1 ], [ [ 2 ] ], [ 3, 4 ] ] this list to this [ 0, 1, 2, 3, 4 ] list. This problem can be solved with deep flattening. In deep flattening, the process undergoes multiple levels of depths to create a flattened list.

There is a built-in function named deepflatten in the iteration_utilities library. You need to install this library using.

We have successfully achieved our target. Let’s take another example by changing the depth of the list.

Using recursion

To flatten a list recursively, we will call the function inside itself to run until the end:

Check whether the list length is equal to 1. If true, then check whether the type of the first index of the list is a “list”.if true, then call the function that flattens the list else, store the number in the result.

The function will be like this:

When we run this code against this [[0,1], [2], [3,4]] list, the results will be:

Flatten without recursion

To flatten a list without recursion, we will use a while loop until we pop all the elements from it. Take a look at the code, you will have a better understanding:

Flatten nested lists

To flatten a nested list, you can use deep flattening. For deep flattening lists within lists, use the given below code:

Also, you can use the recursive function as we did above.

A list of tuples

Flattening a list of tuples of a single depth is the same as flattening lists within lists. For shallow flattening of tuples, use the following code:

For deep flattening, a list of tuples with varying depth (nested), you can use the code given below:

Flatten 2d array

Let’s take a 2d array of 5×5 dimensions and convert it to a flattened list. Check the following code:

A list of NumPy arrays

There are three built-in functions defined in NumPy library that can convert the NumPy array into flattened lists.

numpy.ravel()

numpy.flatten()

numpy.reshape(-1)

numpy.ravel()

numpy.flatten()

numpy.reshape(-1)

The difference between these three functions is speed. The flatten function returns a copy every time it flattens the array. So, if you have a large data set, don’t use the flatten function; it’s the slower one.

Flatten JSON objects

For flattening JSON objects, there is a built-in function in the flatten_json library named flatten().

You first need to install it using pip:

pip install flatten_json

Then you can use this function in our code:

Flatten a list of objects

You can flatten a list of objects using a built-in function available in the itertools library with function name itertools.chain.from_iterable() Let’s see how to use this function:

The same operation can be achieved using list comprehension too:

Flatten a list of DataFrames

For flattening a list of DataFrames, the pandas library has a built-in function for flattening called df.concat() Let’s take a look at code:

Flatten & remove duplicates

First, we will flatten our list, then we will remove the duplicates.

For flattening the list, we will use our own flatten_without_rec() function, and then we will remove the duplicates.

Let us have a look at the code:

Flatten a dictionary into a list

You can flatten a dictionary to a list using a simple for loop:

Let us have a look at the code:

Using reduce

The reduce() function is defined in the functools library. You first need to import reduce from the functools.

Let’s take a look at the code:

We flattened lists with different shapes & types in different ways. I hope you find the tutorial useful. Keep coming back.

Thank you.

 

 

0

Doxygen 1.8.18 duyuruldu

C++, C, Java, Objective-C, Python, IDL, PHP, C#, Fortran, VHDL, Tcl ve bir dereceye kadar D dilleri için online/offline dokümantasyon hazırlamayı sağlayan bir dokümantasyon sistemi olan Doxygen‘in 1.8.18 sürümü duyuruldu. Yeni sürümde; TCL desteği (kod çok biçimsiz ve bakımsız, dil çok popüler değil) kaldırıldığı belirtilirken, bazı çevirilerin güncellendiği ve formül işleme ve oluşturmanın geliştirildiği ifade ediliyor. Kaynak kodlarının içinde herhangi ek bir IDE’ye yada programa ihtiyaç duymaksızın gezinmeyi sağlayan Doxygen; HTML, RTF (MS-Word), PostScript, hyperlinked PDF, compressed HTML, Unix man şeklinde çıktıları destekliyor. Projelere ait dokümantasyon hazırlarken zaman bakımından büyük bir kazanç sağlayan yazılım, Mac OS X ve Linux altında geliştirilmiş, ancak oldukça taşınabilir bir platform olarak ayarlanmıştır. Doxygen ayrıca hepsi otomatik olarak üretilen bağımlılık grafiklerini, kalıtım şemalarını ve işbirliği şemalarını kullanarak çeşitli elemanlar arasındaki ilişkileri görselleştirebilir. Doxygen’i normal belgeler oluşturmak için de kullanabilirsiniz. Doxygen 1.8.18 hakkında ayrıntılı bilgi edinmek için değişiklikler sayfasını inceleyebilirsiniz.

Continue Reading →

Doxygen 1.8.18 edinmek için aşağıdaki linkten yararlanabilirsiniz.

0

SparkyLinux 2020.04~dev0 duyuruldu

Debian GNU/Linux tabanlı Polonya kökenli dağıtım SparkyLinux‘un 2020.04~dev0 geliştirme sürümü, test edilmek üzere duyuruldu. Yalnızca MinimalGUI ve MinimalCLI versiyonları kullanıma sunulmuş bulunan yeni sürümün, Debian “Bullseye” testing tabanlı olduğu ve güvenli önyükleme özelliğine sahip olduğu söyleniyor. UEFI makinelere Sparky kurulum desteği eklenen yeni sürüm, Calamares ve Sparky yükleyicilerle geliyor. Sistem; 27 Mart 2020 tarihi itibarıyla Debian test depolarıyla senkronize edilmiş bulunuyor. Calamares 3.2.22 kullanıma sunulmuş bulunuyor. SparkyLinux 2020.04~dev0 hakkında ayrıntılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.

Continue Reading →

SparkyLinux 2020.04~dev0 edinmek için aşağıdaki linklerden yararlanabilirsiniz.

0

PyPy 7.3.1 duyuruldu

Python programlama dilinin, Python‘un standart uygulaması olan CPython’a alternatif bir uygulama olan, CPython’un yerine geçen ve RPython dili kullanılarak oluşturulup onunla birlikte geliştirilen PyPy‘nin 7.3.1 sürümü duyuruldu. Conda Forge artık PyPy’yi bir Python yorumlayıcısı olarak destekliyor. Bu sürümden sonra, daha birçok c-extension-based packages’in başarıyla oluşturulabileceği ve yüklenebileceği söyleniyor. CFFI arka ucunun 14.0 sürümüne güncellendiği belirtilirken, arka ucu win32 için deneysel olarak etkinleştirilen cppyy kullanılmasının önerildiği ifade ediliyor. Cppyy’nin etkinleştirilmesi daha modern bir C derleyicisi gerektiriyor, bu nedenle win32 artık MSVC160 (Visual Studio 2019) ile oluşturulmuş bulunuyor. PyPy 7.3.1 hakkında ayrıntılı bilgi edinmek için sürüm duyurusunu sayfasını inceleyebilirsiniz.

Continue Reading →

PyPy 7.3.1 edinmek için aşağıdaki linkten yararlanabilirsiniz.

0

SparkyLinux 5.11 duyuruldu

Debian GNU/Linux tabanlı Polonya kökenli dağıtım SparkyLinux‘un “Nibiru” kod adlı 5.11 sürümü duyuruldu. Hafif LXQT masaüstü ortamına sahip tam özellikli bir sistem sunduğu ifade edilen sürüm ile birlikte, minimal ve armhf versiyonları da kullanıma sunuluyor. Sistem 4.19.98 LTS Linux çekirdeği üzerine yapılandırılmış, ARM versiyonda ise 4.19.97 LTS kullanılmış. Debian 10 “Buster” temelinde gelen ve hafif LXDE masaüstü ortamına sahip tam özellikli bir sistem sunulduğu ifade edilirken, minimal ve armhf versiyonlarının da kullanıcıların isteklerine yanıt veren hoş çözümler olduğu bildiriliyor. Bu arada Xfce ve CLI versiyonlar da kullanıma sunulmuş bulunuyor. Firefox 68.6.0 ESR, Thunderbird 68.6.0, LibreOffice 6.1.5 gibi çeşitli güncel paketlerin kullanıcıların kullanımına sunulduğu belirtiliyor. SparkyLinux 5.11 hakkında ayrıntılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.

Continue Reading →

SparkyLinux 5.11 edinmek için aşağıdaki linklerden yararlanabilirsiniz.

0