Kode sumber
# creating the aay a = [18, 18, 18, 6, 3, 4, 9, 9, 9] l = len(a) for i in range(l - 2): if a[i] == a[i + 1] and a[i + 1] == a[i + 2]: print(a[i])Keluaran
18 9 _Untuk mendownload file mentah Klik DisiniKetika diperlukan untuk menemukan string karakter berurutan yang berjarak sama, pemahaman daftar, operator 'semua' dan metode 'ord' digunakan
Contoh
Di bawah ini adalah demonstrasi yang sama
my_list = ["abc", "egfg", "mpsv", "abed", 'xzbd', 'agms'] print("The list is :") print(my_list) my_result = [sub for sub in my_list if all(ord(sub[index + 1]) - ord(sub[index]) == ord(sub[1]) - ord(sub[0]) for index in range(0, len(sub) - 1))] print("The resultant list is :") print(my_result)Keluaran
The list is : ['abc', 'egfg', 'mpsv', 'abed', 'xzbd', 'agms'] The resultant list is : ['abc', 'mpsv', 'agms']Penjelasan
Daftar nilai string ditentukan dan ditampilkan di konsol
Pemahaman daftar digunakan untuk beralih melalui daftar
Operator 'semua' bersama dengan metode 'ord' digunakan untuk memeriksa apakah perbedaan antara indeks berikutnya dan indeks saat ini setara dengan indeks pertama dan indeks nol
Seseorang di komentar khawatir Anda menginginkan jumlah total angka jadi "11100111" -> {"1":6, "0":2}. Dalam hal ini Anda ingin menggunakan a
from collections import Counter s = "11100111" result = Counter(s) # {"1":6, "0":2} _Metode Anda
Seperti yang telah ditunjukkan banyak orang, metode Anda gagal karena Anda mengulang [("1": 3), ("0", 3), ("2", 3), ("3", 2), ("4", 2), ("5", 5)] 1 tetapi menangani [("1": 3), ("0", 3), ("2", 3), ("3", 2), ("4", 2), ("5", 5)] 2. Hal ini menyebabkan kesalahan off-by-one ketika [("1": 3), ("0", 3), ("2", 3), ("3", 2), ("4", 2), ("5", 5)] 3 menunjuk pada indeks terakhir [("1": 3), ("0", 3), ("2", 3), ("3", 2), ("4", 2), ("5", 5)] 4, jadi [("1": 3), ("0", 3), ("2", 3), ("3", 2), ("4", 2), ("5", 5)] 5 memunculkan [("1": 3), ("0", 3), ("2", 3), ("3", 2), ("4", 2), ("5", 5)] 6. Salah satu cara untuk memperbaikinya adalah dengan mengulangi [("1": 3), ("0", 3), ("2", 3), ("3", 2), ("4", 2), ("5", 5)] 7, tetapi lebih pythonic untuk menghasilkan sesuatu untuk diulang
Untuk string yang tidak terlalu besar, [("1": 3), ("0", 3), ("2", 3), ("3", 2), ("4", 2), ("5", 5)] 8 bukan masalah kinerja, jadi Anda bisa melakukannya
counts = [] count = 1 for a, b in zip(s, s[1:]): if a==b: count += 1 else: counts.append((a, count)) count = 1Satu-satunya masalah adalah Anda harus membuat huruf khusus pada karakter terakhir jika itu unik. Itu bisa diperbaiki dengan
import itertools counts = [] count = 1 for a, b in itertools.zip_longest(s, s[1:], fillvalue=None): if a==b: count += 1 else: counts.append((a, count)) count = 1Jika Anda memiliki string yang sangat besar dan tidak tahan untuk menyimpan dua di antaranya dalam memori sekaligus, Anda dapat menggunakan
Idenya adalah untuk melintasi string dari kiri ke kanan. Untuk setiap karakter yang dilintasi, cetak dalam satu baris jika berturut-turut dengan yang sebelumnya, jika tidak, cetak karakter baris baru.
Penerapan
C++
// C++ program to print consecutive characters
// together in a line.
#include <iostream>
using namespace std;
________ 143 _______ _______ 144 _______
ABC XYZ A C CD0
ABC XYZ A C CD1ABC XYZ A C CD2
ABC XYZ A C CD1ABC XYZ A C CD4 ABC XYZ A C CD5ABC XYZ A C CD6 ABC XYZ A C CD7ABC XYZ A C CD8ABC XYZ A C CD9
// C++ program to print consecutive characters0// C++ program to print consecutive characters1 // C++ program to print consecutive characters2
________137The list is : ['abc', 'egfg', 'mpsv', 'abed', 'xzbd', 'agms'] The resultant list is : ['abc', 'mpsv', 'agms']_137_______4
________137The list is : ['abc', 'egfg', 'mpsv', 'abed', 'xzbd', 'agms'] The resultant list is : ['abc', 'mpsv', 'agms']_137_______6
________137# creating the aay a = [18, 18, 18, 6, 3, 4, 9, 9, 9] l = len(a) for i in range(l - 2): if a[i] == a[i + 1] and a[i + 1] == a[i + 2]: print(a[i])_137_______8
// C++ program to print consecutive characters3// together in a line.0// together in a line.1 // together in a line.2
________137# creating the aay a = [18, 18, 18, 6, 3, 4, 9, 9, 9] l = len(a) for i in range(l - 2): if a[i] == a[i + 1] and a[i + 1] == a[i + 2]: print(a[i])_138_______4
ABC XYZ A C CD1// together in a line.6
// together in a line._6
// together in a line._8
ABC XYZ A C CD6 #include <iostream>0
ABC XYZ A C CD0
ABC XYZ A C CD1#include <iostream>3#include <iostream>4// together in a line.4
ABC XYZ A C CD1#include <iostream>7
ABC XYZ A C CD1#include <iostream>9 using0
// together in a line._6
Jawa
using_2
// together in a line.
using4 using5
ABC XYZ A C CD1using7 void using9
ABC XYZ A C CD1ABC XYZ A C CD0
// C++ program to print consecutive characters0namespace3 namespace4
// C++ program to print consecutive characters0namespace6namespace7namespace8
// C++ program to print consecutive characters0ABC XYZ A C CD4 ABC XYZ A C CD5ABC XYZ A C CD6 ________142______3std;4std;5
// C++ program to print consecutive characters3// C++ program to print consecutive characters1 std;8std;4void0std;4void2
void3void4std;4void6std;4void8
void3print(string str)0
________137The list is : ['abc', 'egfg', 'mpsv', 'abed', 'xzbd', 'agms'] The resultant list is : ['abc', 'mpsv', 'agms']_138_______6
________137The list is : ['abc', 'egfg', 'mpsv', 'abed', 'xzbd', 'agms'] The resultant list is : ['abc', 'mpsv', 'agms']_137_______8 ABC XYZ A C CD0
void3print(string str)7// together in a line.1 print(string str)9
________137The list is : ['abc', 'egfg', 'mpsv', 'abed', 'xzbd', 'agms'] The resultant list is : ['abc', 'mpsv', 'agms']_138_______6
________137# creating the aay a = [18, 18, 18, 6, 3, 4, 9, 9, 9] l = len(a) for i in range(l - 2): if a[i] == a[i + 1] and a[i + 1] == a[i + 2]: print(a[i])_138_______6
ABC XYZ A C CD1// together in a line.6
ABC XYZ A C CD1// together in a line.8
ABC XYZ A C CD1ABC XYZ A C CD09 using7 void ABC XYZ A C CD12
ABC XYZ A C CD1ABC XYZ A C CD0
// C++ program to print consecutive characters0ABC XYZ A C CD16#include <iostream>4// together in a line.4
________137# creating the aay a = [18, 18, 18, 6, 3, 4, 9, 9, 9] l = len(a) for i in range(l - 2): if a[i] == a[i + 1] and a[i + 1] == a[i + 2]: print(a[i])_139_______7
ABC XYZ A C CD1// together in a line.6
// together in a line._6
ABC XYZ A C CD_24
Python3
ABC XYZ A C CD_25
ABC XYZ A C CD_26
________15______27 ABC XYZ A C CD28
ABC XYZ A C CD1ABC XYZ A C CD30ABC XYZ A C CD31namespace7ABC XYZ A C CD_33ABC XYZ A C CD34ABC XYZ A C CD35
ABC XYZ A C CD1ABC XYZ A C CD4 ABC XYZ A C CD38ABC XYZ A C CD39 ABC XYZ A C CD40ABC XYZ A C CD5std;4ABC XYZ A C CD43ABC XYZ A C CD44________15______45
// C++ program to print consecutive characters0// C++ program to print consecutive characters1 ABC XYZ A C CD5ABC XYZ A C CD49ABC XYZ A C CD50ABC XYZ A C CD34ABC XYZ A C CD____34 _________________________________________________________________________________________________________________________________________________________________________________________________________.
void3ABC XYZ A C CD49ABC XYZ A C CD50ABC XYZ A C CD34ABC XYZ A C CD34 ABC XYZ A C CD49ABC XYZ A C CD_________________________5555.____142____________________1515____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________g
// C++ program to print consecutive characters3ABC XYZ A C CD30ABC XYZ A C CD76ABC XYZ A C CD34ABC XYZ A C CD35
// C++ program to print consecutive characters0// C++ program to print consecutive characters8ABC XYZ A C CD81
// C++ program to print consecutive characters3ABC XYZ A C CD30ABC XYZ A C CD84
// C++ program to print consecutive characters3ABC XYZ A C CD30ABC XYZ A C CD76ABC XYZ A C CD34ABC XYZ A C CD35
ABC XYZ A C CD_90
// C++ program to print consecutive characters1 ABC XYZ A C CD92ABC XYZ A C CD34ABC XYZ A C CD34 ABC XYZ A C CD95ABC XYZ A C CD81
ABC XYZ A C CD1ABC XYZ A C CD98ABC XYZ A C CD34 #include <iostream>4
ABC XYZ A C CD1// C++ program to print consecutive characters02
// C++ program to print consecutive characters_03
// C++ program to print consecutive characters_04
C#
// C++ program to print consecutive characters_05
// together in a line.
using // C++ program to print consecutive characters08
using4 using5
ABC XYZ A C CD1using7 void using9
ABC XYZ A C CD1ABC XYZ A C CD0
// C++ program to print consecutive characters0namespace3// C++ program to print consecutive characters19
________137# creating the aay a = [18, 18, 18, 6, 3, 4, 9, 9, 9] l = len(a) for i in range(l - 2): if a[i] == a[i + 1] and a[i + 1] == a[i + 2]: print(a[i])_137_______21
// C++ program to print consecutive characters0ABC XYZ A C CD4 ABC XYZ A C CD5ABC XYZ A C CD6 // C++ program to print consecutive characters26
// C++ program to print consecutive characters3// C++ program to print consecutive characters1 // C++ program to print consecutive characters2
________143The list is : ['abc', 'egfg', 'mpsv', 'abed', 'xzbd', 'agms'] The resultant list is : ['abc', 'mpsv', 'agms']_137_______31
________143The list is : ['abc', 'egfg', 'mpsv', 'abed', 'xzbd', 'agms'] The resultant list is : ['abc', 'mpsv', 'agms']_137_______33
________137The list is : ['abc', 'egfg', 'mpsv', 'abed', 'xzbd', 'agms'] The resultant list is : ['abc', 'mpsv', 'agms']_138_______6
________137The list is : ['abc', 'egfg', 'mpsv', 'abed', 'xzbd', 'agms'] The resultant list is : ['abc', 'mpsv', 'agms']_137_______8 ABC XYZ A C CD0
void3// C++ program to print consecutive characters40// together in a line.1 print(string str)9
________137The list is : ['abc', 'egfg', 'mpsv', 'abed', 'xzbd', 'agms'] The resultant list is : ['abc', 'mpsv', 'agms']_138_______6
________137# creating the aay a = [18, 18, 18, 6, 3, 4, 9, 9, 9] l = len(a) for i in range(l - 2): if a[i] == a[i + 1] and a[i + 1] == a[i + 2]: print(a[i])_138_______6
ABC XYZ A C CD1// together in a line.6
ABC XYZ A C CD1// together in a line.8
ABC XYZ A C CD1ABC XYZ A C CD09 using7 void // C++ program to print consecutive characters55
ABC XYZ A C CD1ABC XYZ A C CD0
// C++ program to print consecutive characters0ABC XYZ A C CD16#include <iostream>4// together in a line.4
________137# creating the aay a = [18, 18, 18, 6, 3, 4, 9, 9, 9] l = len(a) for i in range(l - 2): if a[i] == a[i + 1] and a[i + 1] == a[i + 2]: print(a[i])_139_______7
ABC XYZ A C CD1// together in a line.6
// together in a line._6
// C++ program to print consecutive characters_67
Javascript
// C++ program to print consecutive characters_68
// C++ program to print consecutive characters_69
// C++ program to print consecutive characters_70
// C++ program to print consecutive characters_71 // C++ program to print consecutive characters72
ABC XYZ A C CD0
ABC XYZ A C CD1// C++ program to print consecutive characters75// C++ program to print consecutive characters76// C++ program to print consecutive characters77
ABC XYZ A C CD1// C++ program to print consecutive characters79
ABC XYZ A C CD1
ABC XYZ A C CD1ABC XYZ A C CD4// C++ program to print consecutive characters83
ABC XYZ A C CD1ABC XYZ A C CD0
// C++ program to print consecutive characters0// C++ program to print consecutive characters1 // C++ program to print consecutive characters88
________137ABC XYZ A C CD_137_______90
________137The list is : ['abc', 'egfg', 'mpsv', 'abed', 'xzbd', 'agms'] The resultant list is : ['abc', 'mpsv', 'agms']_137_______92
________137ABC XYZ A C CD_137_______94
________137# creating the aay a = [18, 18, 18, 6, 3, 4, 9, 9, 9] l = len(a) for i in range(l - 2): if a[i] == a[i + 1] and a[i + 1] == a[i + 2]: print(a[i])_15_______0
________137The list is : ['abc', 'egfg', 'mpsv', 'abed', 'xzbd', 'agms'] The resultant list is : ['abc', 'mpsv', 'agms']_137_______98
________137# creating the aay a = [18, 18, 18, 6, 3, 4, 9, 9, 9] l = len(a) for i in range(l - 2): if a[i] == a[i + 1] and a[i + 1] == a[i + 2]: print(a[i])_138_______6
________137# creating the aay a = [18, 18, 18, 6, 3, 4, 9, 9, 9] l = len(a) for i in range(l - 2): if a[i] == a[i + 1] and a[i + 1] == a[i + 2]: print(a[i])_137_______8
________137# creating the aay a = [18, 18, 18, 6, 3, 4, 9, 9, 9] l = len(a) for i in range(l - 2): if a[i] == a[i + 1] and a[i + 1] == a[i + 2]: print(a[i])_15_______0
// C++ program to print consecutive characters3// together in a line.06// together in a line.07 print(string str)9
________137# creating the aay a = [18, 18, 18, 6, 3, 4, 9, 9, 9] l = len(a) for i in range(l - 2): if a[i] == a[i + 1] and a[i + 1] == a[i + 2]: print(a[i])_138_______6
ABC XYZ A C CD1// together in a line.6
// together in a line._6
// together in a line._8
________138ABC XYZ A C CD_139_______4// together in a line.4
#include <iostream>_7
// together in a line._19
// together in a line._20
KeluaranABC XYZ A C CD
Kompleksitas Waktu. Pada)
Ruang Bantu. O(1)Artikel ini disumbangkan oleh Rakesh Kumar. Jika Anda menyukai GeeksforGeeks dan ingin berkontribusi, Anda juga dapat menulis artikel menggunakan tulis. geeksforgeeks. org atau kirimkan artikel Anda ke review-team@geeksforgeeks. org. Lihat artikel Anda muncul di halaman utama GeeksforGeeks dan bantu Geeks lainnya.
Bagaimana Anda mencetak huruf berurutan dengan Python?
Diberi sebuah String, ekstrak semua karakter berurutan dengan panjang K . Memasukkan. test_str = 'geeksforgeeks terbaik untuk Geeks', K = 3 Keluaran. ['eee', 'sss', 'bbb', 'rrr'] Penjelasan. K string berturut-turut panjang diekstraksi.Bagaimana Anda menemukan karakter berulang yang berurutan dalam sebuah string?
Periksa apakah semua bit dapat dibuat sama dengan flip tunggalKomplemen 1 dan 2 dari Bilangan BinerMetode yang efisien untuk komplemen 2 dari string binerJumlah membalik untuk membuat string biner bergantian. Tetapkan 1Hitung string dengan 1 berturut-turutTambahkan dua string bitHitung jumlah string biner tanpa 1 berturut-turutBagaimana cara mencetak secara berurutan?
Untuk mencetak keluaran berurutan dalam satu, Anda harus memformat keluaran Anda dengan menggunakan akhir. Sebagai contoh. -Sebenarnya setiap pernyataan cetak secara default diakhiri dengan karakter baris baru. Jadi, kami mengubah ujungnya menjadi ruang sehingga ketika kami mencetak di lain waktu hanya ada celah satu ruangBeri suara jika itu membantuBagaimana Anda menemukan string berurutan di Python?
Diberi String dan angka K, ekstrak K pertama digit berurutan membuat angka . Memasukkan. test_str = "geeks5geeks43best", K = 2 Keluaran. 43 Penjelasan. 43 adalah 2 digit pertama berturut-turut.