Apa permutasi di python?

Pertama, impor itertools

import itertools

Permutasi (masalah urutan)

print(list(itertools.permutations([1,2,3,4], 2)))

[(1, 2), (1, 3), (1, 4),
(2, 1), (2, 3), (2, 4),
(3, 1), (3, 2), (3, 4),
(4, 1), (4, 2), (4, 3)]
_

Kombinasi (urutan TIDAK masalah)

print(list(itertools.combinations('123', 2)))

[('1', '2'), ('1', '3'), ('2', '3')]

Produk Cartesian (dengan beberapa iterables)

print(list(itertools.product([1,2,3], [4,5,6])))

[(1, 4), (1, 5), (1, 6),
(2, 4), (2, 5), (2, 6),
(3, 4), (3, 5), (3, 6)]

Produk Cartesian (dengan satu iterable dan dirinya sendiri)

print(list(itertools.product([1,2], repeat=3)))

[(1, 1, 1), (1, 1, 2), (1, 2, 1), (1, 2, 2),
(2, 1, 1), (2, 1, 2), (2, 2, 1), (2, 2, 2)]
_

Menyusun semua anggota suatu himpunan ke dalam suatu urutan atau urutan dan jika himpunan itu sudah terurut, menyusun kembali (reordering) elemen-elemennya disebut permutasi.

Hasilkan semua permutasi menggunakan for loop

Kami akan menghasilkan permutasi menggunakan for loop −

Contoh

Keluaran

['4', '5', '6']
['4', '6', '5']
['5', '4', '6']
['5', '6', '4']
['6', '4', '5']
['6', '5', '4']

Hasilkan semua permutasi menggunakan fungsi permutations()

Kami akan menghasilkan permutasi menggunakan fungsi permutations() −

Contoh

Keluaran

Permutations
 [(1, 2), (2, 1)]
_

Hasilkan semua permutasi menggunakan permutations() dalam fungsi extend()

Untuk menghasilkan semua permutasi menggunakan fungsi extend() −

Contoh

Keluaran

Permutations
 [(2,), (3,), (4,), (2, 3), (2, 4), (3, 2), (3, 4), (4, 2), (4, 3), (2, 3, 4), (2, 4, 3), (3, 2, 4), (3, 4, 2), (4, 2, 3), (4, 3, 2)]

Misalkan kita memiliki kumpulan bilangan bulat yang berbeda; . Jadi jika arraynya seperti [2,1,3], maka hasilnya adalah [[1,2,3], [1,3,2], [2,1,3], [2,3,1

Untuk mengatasi ini, kami akan mengikuti langkah-langkah ini −

  • Kami akan menggunakan pendekatan rekursif, ini akan membuat daftar, mulai, curr dan res
  • jika mulai > panjang daftar – 1, lalu tambahkan curr ke dalam res, dan kembali
  • untuk i dalam rentang mulai dari panjang daftar yang diberikan – 1
    • tukar elemen daftar yang ada di awal indeks dan (mulai + (i – mulai))
    • permutasi(daftar, mulai + 1, curr + [daftar[mulai]], res)
    • tukar elemen daftar yang ada di awal indeks dan (mulai + (i – mulai))
    • awalnya memanggil permutasi(arr, 0, [], res)

Contoh (Python)

Mari kita lihat implementasi berikut untuk mendapatkan pemahaman yang lebih baik −

Demo Langsung

class Solution(object):
   def permute(self, nums):
      result = []
      self.permute_util(nums,0,[],result)
      return result
   def permute_util(self,given_list,start,curr,result):
      if start > len(given_list)-1:
         #print(curr)
         result.append(curr)
         return
      for i in range(start,len(given_list)):
         self.swap(given_list,start,start+(i-start)) self.permute_util(given_list,start+1,curr+[given_list[start]],result)
         #print(given_list)
         self.swap(given_list, start, start + (i - start))
   def swap(self,nums,index1,index2):
      temp = nums[index1]
      nums[index1] = nums[index2]
      nums[index2] = temp
ob1 = Solution()
print(ob1.permute([1,2,3,4]))
_

Memasukkan

[1,2,3,4]
_

Keluaran

[[1,2,3,4],[1,2,4,3],[1,3,2,4],[1,3,4,2],[1,4,3,2],[1,4,2,3],[2,1,3,4],[2,1,4,3],[2,3,1,4],[2,3,4,1],[2,4,3,1],[2,4,1,3],[3,2,1,4],[3,2,4,1],[3,1,2,4],[3,1,4,2],[3,4,1,2],[3,4,2,1],[4,2,3,1],[4,2,1,3],[4,3,2,1],[4,3,1,2],[4,1,3,2],[4,1,2,3]]

Dalam tutorial ini, kita akan belajar cara mendapatkan permutasi dan kombinasi data tertentu menggunakan Python. Kami akan menggunakan paket bawaan Python untuk menemukan permutasi dan kombinasi dari angka yang diberikan

Permutasi dan kombinasi merupakan bagian penting dalam matematika. Python menyediakan pustaka itertools yang memiliki fungsi bawaan untuk menghitung permutasi dan kombinasi

Mengimpor perpustakaan yang Diperlukan

Untuk menghitung permutasi dan kombinasi, kita perlu mengimpor pustaka itertools. Kita dapat mengimpornya menggunakan perintah di bawah ini

Pernyataan di atas akan mengimpor pustaka itertools dan membentuk jalur menuju fungsinya

Sekarang, kita perlu membuat daftar sequence sebagai input. Daftar input ini akan mengembalikan tuple yang terdiri dari permutasi dan kombinasi. Kita juga bisa mengatur panjang permutasi dan kombinasinya

Permutasi adalah susunan dari suatu himpunan yang urutannya penting. Modul itertools Python menyediakan metode permutasi() bawaan untuk menemukan permutasi. Mari kita pahami contoh berikut

Contoh -

Keluaran

('1', '2', '3')
('1', '3', '2')
('2', '1', '3')
('2', '3', '1')
('3', '1', '2')
('3', '2', '1')

Pada kode di atas, kita telah mengimpor modul itertools. Kami memanggil metode permutation() yang menggunakan string sebagai argumen dan menyediakan objek itertools. Perlu menggunakan for loop untuk mendapatkan setiap permutasi

Mari kita ambil dua set permutasi

Contoh - 2

Keluaran

('A', 'B')
('A', 'C')
('B', 'C')

Contoh - 3

Keluaran

(1, 2, 3, 4)
(1, 2, 4, 3)
(1, 3, 2, 4)
(1, 3, 4, 2)
(1, 4, 2, 3)
(1, 4, 3, 2)
(2, 1, 3, 4)
(2, 1, 4, 3)
(2, 3, 1, 4)
(2, 3, 4, 1)
(2, 4, 1, 3)
(2, 4, 3, 1)
(3, 1, 2, 4)
(3, 1, 4, 2)
(3, 2, 1, 4)
(3, 2, 4, 1)
(3, 4, 1, 2)
(3, 4, 2, 1)
(4, 1, 2, 3)
(4, 1, 3, 2)
(4, 2, 1, 3)
(4, 2, 3, 1)
(4, 3, 1, 2)
(4, 3, 2, 1)

Dalam kode di atas, kita telah mendapatkan kombinasi dari beberapa bilangan bulat

Permutasi panjang tetap

Kita dapat menghitung permutasi dari set panjang tetap di mana kita hanya mengambil sejumlah tertentu dari setiap permutasi elemen. Mari kita pahami contoh berikut

Contoh -

Keluaran

('H', 'e')
('H', 'l')
('H', 'l')
('H', 'o')
('e', 'H')
('e', 'l')
('e', 'l')
('e', 'o')
('l', 'H')
('l', 'e')
('l', 'l')
('l', 'o')
('l', 'H')
('l', 'e')
('l', 'l')
('l', 'o')
('o', 'H')
('o', 'e')
('o', 'l')
('o', 'l')

Dalam kode di atas, kami telah menghitung permutasi tetap dengan melewatkan panjang sebagai dua

Kombinasi Tali

Kombinasi adalah kumpulan elemen yang urutannya tidak dipermasalahkan. Modul itertools Python menyediakan metode combination() untuk menghitung kombinasi data yang diberikan. Kita dapat menghitung kombinasi string. Mari kita pahami contoh berikut

Contoh -

Keluaran

('A', 'B')
('A', 'C')
('B', 'C')

Kombinasi dengan Penggantian

Modul itertools terdiri dari metode lain yang disebut combination_with_replacement() yang juga mempertimbangkan kombinasi angka itu sendiri. Mari kita pahami contohnya

Kombinasi Set Numerik

Keluaran

('J', 'J')
('J', 'a')
('J', 'v')
('J', 'a')
('J', 't')
('J', 'p')
 ('J', 'o')
('J', 'i')
('J', 'n')
('J', 't')
('a', 'a')
('a', 'v')
('a', 'a')
('a', 't')
('a', 'p')
('a', 'o')
('a', 'i')
('a', 'n')
('a', 't')
('v', 'v')
('v', 'a')
('v', 't')
('v', 'p')
('v', 'o')
('v', 'i')
('v', 'n')
('v', 't')
('a', 'a')
('a', 't')
('a', 'p')
('a', 'o')
('a', 'i')
('a', 'n')
('a', 't')
('t', 't')
('t', 'p')
('t', 'o')
('t', 'i')
('t', 'n')
('t', 't')
('p', 'p')
('p', 'o')
('p', 'i')
('p', 'n')
('p', 't')
('o', 'o')
('o', 'i')
('o', 'n')
('o', 't')
('i', 'i')
('i', 'n')
('i', 't')
('n', 'n')
('n', 't')
('t', 't')

Kombinasi Set Numerik

Jika input yang diberikan dalam urutan terurut, tupel kombinasi akan dikembalikan dalam urutan terurut. Mari kita pahami contoh berikut

Contoh -

Keluaran

(1, 1, 1)
(1, 1, 2)
(1, 1, 3)
(1, 1, 4)
(1, 2, 2)
(1, 2, 3)
(1, 2, 4)
(1, 3, 3)
(1, 3, 4)
(1, 4, 4)
(2, 2, 2)
(2, 2, 3)
(2, 2, 4)
(2, 3, 3)
(2, 3, 4)
(2, 4, 4)
(3, 3, 3)
(3, 3, 4)
(3, 4, 4)
(4, 4, 4)

Dalam tutorial ini, kita telah membahas modul itertools untuk menemukan permutasi dan kombinasi dari data yang diberikan menggunakan skrip Python

Apa arti permutasi di PyTorch?

permute() digunakan untuk melakukan operasi permute pada tensor PyTorch. Ini mengembalikan tampilan tensor input dengan dimensinya yang diizinkan . Itu tidak membuat salinan tensor asli. Misalnya, tensor dengan dimensi [2, 3] dapat diubah menjadi [3, 2].

Bagaimana Anda mengubah nomor dengan Python?

Jumlah permutasi pada himpunan n elemen diberikan oleh n. . Misal ada 2. = 2*1 = 2 permutasi dari {1, 2}, yaitu {1, 2} dan {2, 1}, dan 3. = 3*2*1 = 6 permutasi dari {1, 2, 3}, yaitu {1, 2, 3}, {1, 3, 2}, {2, 1, 3}, {2, 3, 1} .

Bagaimana Anda mengubah urutan string dengan Python?

Prosedur Mencari Permutasi Suatu String .
Impor modul itertools
Inisialisasi string
Gunakan itertools. metode permutasi untuk menemukan permutasi string
Pada langkah ketiga, metode mengembalikan objek dan mengubahnya menjadi daftar. Daftar berisi permutasi string sebagai tupel

Apa itu permutasi string?

Permutasi suatu string adalah string lain yang berisi karakter yang sama, hanya saja urutan karakternya bisa berbeda . Misalnya, "abcd" dan "dabc" adalah Permutasi satu sama lain.