Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengindeksan dan Penghirisan

Pengindeksan dan Penghirisan

WBOY
WBOYasal
2024-07-26 10:40:33549semak imbas

Indexing and Slicing

  • Mengindeks dan menghiris adalah konsep penting bagi saya.
  • Aplikasi yang mungkin adalah LSB dan MSB dalam elektronik digital

Permohonan:
Saya mempunyai peranti yang menetapkan suhu berdasarkan nilai apungan yang saya tetapkan daripada pemacu atau antara muka pengguna. Nilai terapung dalaman ditukar kepada heks dan peranti diminta untuk menetapkan suhu yang diperlukan.

Tetapi apabila kita ingin membaca butiran lengkap daripada peranti, ia akan dalam format heks dengan berbilang bait. Jika saya memerlukan hanya satu bait data dalam susunan terbalik nilai perduaannya, maka menghiris ialah cara terbaik untuk mengekstrak nilai tersebut.

Tetapi saya rasa Python lebih cekap. Apabila saya mempelajari lebih banyak konsep, maka beberapa pakej yang berkaitan dengan hex kepada binari atau berurusan dengan data hex akan mempunyai beberapa fungsi.

Pembelajaran:
Saya telah mencuba dan mempelajari perkara di bawah dari sesi ini

  • Pengindeksan positif
  • Pengindeksan negatif
  • Menghiris menggunakan pengindeksan positif
  • menghiris menggunakan pengindeksan negatif
  • Menghiris dalam susunan terbalik memerlukan Langkah hujah ketiga
###############################################
#         INDEXING
###############################################

'''
Positive Indexing:
H E L L O   W O R L D
0 1 2 3 4 5 6 7 8 9 10
'''

#Positive indexing
message = 'HELLO WORLD'
print ('Postive indexing:', message[0], message [1], message [2], message [3], message [4])  # H E L L O

'''
Here indexing starts with 0. Python is able to strip the string like array elements
Negative indexing
H   E   L   L   O
-5  -4 -3  -2  -1
'''

#Negative indexing
message1 = '  Hello'
print ('Negative Indexing:', message1[-1], message1[-2], message1[-3], message1[-4], message1[-5]) # o l l e H

'''
Length is always number of characters or elements in string. 
  - length > last element index
  - length = last index +1

when we define out of range indexing, string index out of range error would come
In the above example,
'''

print('Length of string:',len(message), len(message1))     # 11 , 7


###############################################
#         SLICING
###############################################

#Message[Start:Stop:Step]
print('\nSlicing 1 to 4th index elements of HELLO WORLD using message[1:5]:', message[1:5])
print('Slicing before 6th index elements of HELLO WORLD using message[:6]:', message[:6])
print('Slicing from 6th index elements of HELLO WORLD using message[6:]:', message[6:])
print('Slicing from 6th index elements of HELLO WORLD using message[6: 100]:', message[6:100])


# Slicing using negative index also possible
print('\nSlicing using negative indexing in HELLO WORLD using message[-11:5]:', message[-11:5])
# Here number 5 is STOP, it refers 5th index
print('Slicing using negative indexing in HELLO WORLD using message[-11:-4]:', message[-11:-4])

'''
Reversing the message contents can be done using step definition
message [5:-10:-1]
'''
print('\nSlicing in reverse order using step (message [5:-12:-1]):',message [5:-12:-1])
print('Slicing in reverse order only ROW(NI) from HELLO WORLD (message [-3:-7:-1]):',message [-3:-7:-1])
print('Slicing in reverse order only ROW(PI) from HELLO WORLD (message [8:4:-1]):',message [8:4:-1])

Keputusan:

PS C:\Projects\PythonSuresh> python Class7.py
Postive indexing: H E L L O
Negative Indexing: o l l e H
Length of string: 11 7

Slicing 1 to 4th index elements of HELLO WORLD using message[1:5]: ELLO
Slicing before 6th index elements of HELLO WORLD using message[:6]: HELLO 
Slicing from 6th index elements of HELLO WORLD using message[6:]: WORLD
Slicing from 6th index elements of HELLO WORLD using message[6: 100]: WORLD

Slicing using negative indexing in HELLO WORLD using message[-11:5]: HELLO
Slicing using negative indexing in HELLO WORLD using message[-11:-4]: HELLO W

Slicing in reverse order using step (message [5:-12:-1]):  OLLEH
Slicing in reverse order only ROW(NI) from HELLO WORLD (message [-3:-7:-1]): ROW
Slicing in reverse order only ROW(PI) from HELLO WORLD (message [8:4:-1]): ROW

Atas ialah kandungan terperinci Pengindeksan dan Penghirisan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn