Bạn đang xem : python lấy chỉ mục trong chuỗi

Các hàm index find trả về vị trí của một ký tự hoặc một chuỗi con bên trong một chuỗi. Cả hai đều nhận một tham số duy nhất, đó là bắt buộc. Hai tham số bổ sung: __start __end là tùy chọn.

  my_string = 'Đây là một chuỗi'
print (my_string.find ('s'))
print (my_string.index ('s'))
 

Cả hai hàm đều hoạt động theo cùng một cách nếu ký tự hiện diện bên trong chuỗi. Lập chỉ mục trong Python bắt đầu từ 0, vì vậy phần tử thứ 4 trong chuỗi có chỉ mục 3.

 3
3 

Sự khác biệt giữa hai hàm này là khi phần tử chúng ta đang tìm kiếm một ký tự không có trong chuỗi.

  print (my_string.find ('x'))  

Trong trường hợp của hàm find , kết quả là -1.

 - 1 

Chức năng chỉ mục hoạt động theo cách khác.

  print (my_string.index ('x'))  

Nó gây ra lỗi nếu không có ký tự nào bên trong chuỗi.

 ValueError: không tìm thấy chuỗi con 

Xử lý ngoại lệ

Tất nhiên, có thể xử lý các trường hợp ngoại lệ. Nếu chúng tôi sửa đổi mã, hàm index hoạt động giống như hàm find .

  my_string = 'Đây là một chuỗi'

thử:
    index = my_string.index ('x')
ngoại trừ ValueError:
    chỉ số = -1

in (chỉ mục)
 

Nếu bạn chạy mã cho “x”, Python sẽ phát sinh lỗi và mã bên trong mệnh đề ngoại trừ sẽ được thực thi. Sau đó, nó sẽ in giá trị: -1 .

 - 1 

Chỉ mục của một chuỗi con

Cho đến nay, tôi đã hướng dẫn bạn cách tìm chỉ số của một ký tự.

Tương tự, bạn có thể tìm chỉ mục của một chuỗi con.

  my_string = 'Đây là một chuỗi'
print (my_string.find ('str'))
print (my_string.index ('str'))
 

Chuỗi con “str” ở vị trí 11, do đó chỉ số là 10.

 10
10 

Tham số tùy chọn

Như tôi đã đề cập trước đó, cả hai hàm có thể có tối đa ba tham số. Hãy xem cách nó hoạt động cho hai đối số.

  my_string = 'Đây là một chuỗi'

print (my_string.index ('s', 7))
print (my_string.find ('s', 7))
 

Tham số thứ hai cho hàm biết chỉ mục nào mà nó sẽ bắt đầu tìm kiếm chỉ mục phù hợp. Vì không có tham số __end nên nó sẽ tìm từ chỉ mục 7 đến cuối chuỗi. Trong trường hợp này, nó trả về chỉ mục 10.

 10
10 

Nếu bạn thêm cả hai: tham số __start __end , Python sẽ tìm kiếm các chỉ mục phù hợp giữa hai số này.

  my_string = 'Đây là một chuỗi'

print (my_string.index ('s', 4, 7))
print (my_string.find ('s', 4, 7))
 

Trong trường hợp của chúng tôi, nó trả về 6.

 6
6 

Nếu ký tự không có trong phạm vi này, hàm find sẽ trả về -1 và chỉ mục sẽ phát sinh lỗi giống như trước đây, ngay cả khi ký tự nằm trong chuỗi nhưng nằm ngoài phạm vi.

Nhận tất cả các vị trí

Cho đến nay, chúng tôi đã cố gắng tìm vị trí của một chuỗi và khi hàm tìm thấy nó, nó sẽ dừng lại và trả về chỉ mục.

Nếu chúng tôi muốn tìm tất cả các chỉ mục, không chỉ chỉ mục đầu tiên, chúng tôi có thể sử dụng tính năng hiểu danh sách. Đây là giải pháp một dòng, nhỏ gọn đơn giản có thể thay thế hàm for .

  my_string = 'Đây là một chuỗi'

def find (my_str, my_char):
    return [i for i, ltr in enumerate (my_str) if ltr == my_char]

my_list = find (my_string, 's')
print (my_list)
 

Tất cả các chỉ mục đều được thêm vào danh sách.

 [3, 6, 10] 

Lấy chỉ mục cuối cùng

Cho đến nay, tôi đã viết về cách tìm kiếm chỉ mục từ đầu chuỗi.

Tuy nhiên, chúng tôi cũng có thể tìm kiếm từ cuối chuỗi đến đầu chuỗi, vì vậy thay vì nhận chỉ mục đầu tiên, chúng tôi sẽ tìm chỉ mục cuối cùng.

Một cách để thực hiện là tìm kiếm tất cả các chỉ mục như chúng ta đã làm trong ví dụ trước. Sau đó, thay vì in tất cả các phần tử trong danh sách, chúng tôi sẽ chỉ in phần cuối cùng.

  print (my_list [-1])  

Đây là kết quả, mã sẽ trả về chỉ mục cuối cùng.

 10 

Chúng tôi có thể thực hiện một cách tiếp cận khác. Đầu tiên, đảo ngược chuỗi và sau đó tìm phần tử đầu tiên để lấy chỉ mục.

  my_string = 'Đây là một chuỗi'
my_string = my_string [:: - 1]
print (my_string.find ('s'))
 

Mã này sẽ trả về 5 .

Bây giờ, chúng ta có phần tử cuối cùng, tính từ cuối, thay vì đầu. Câu lệnh [:: – 1] có nghĩa là bắt đầu ở phần tử cuối cùng của chuỗi và kết thúc ở vị trí 0 và di chuyển với bước -1, nghĩa là lùi một bước.

Chúng ta phải đếm tất cả các phần tử bên trong chuỗi và trừ vị trí của phần tử được đếm từ cuối (5). Điều này sẽ cung cấp cho chúng tôi vị trí của phần tử khớp cuối cùng. Vì lập chỉ mục bắt đầu từ 0 chứ không phải 1 nên chúng ta phải trừ đi 1.

  my_string = 'Đây là một chuỗi'
my_string = my_string [:: - 1]
print (len (my_string) - my_string.find ('s') - 1)
 

Phần tử cuối cùng bên trong chuỗi là 10.

Ezoic

báo cáo quảng cáo này


Xem thêm những thông tin liên quan đến chủ đề python lấy chỉ mục trong chuỗi

Indexing and Slicing a String In Python

alt

  • Tác giả: Master Code Online
  • Ngày đăng: 2015-09-17
  • Đánh giá: 4 ⭐ ( 1333 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: This tutorial has been update to Python 3.7 at https://www.mastercode.online/courses/tutorial/get-a-character-via-the-index-in-python-37/

    Channel – https://goo.gl/pnKLqE
    Playlist For This Tutorial – https://goo.gl/EyZFti
    Latest Video – https://goo.gl/atWRkF
    Facebook – https://www.facebook.com/mastercodeonline/
    Twitter – https://twitter.com/mastercodeonlin?lang=en
    Website – http://mastercode.online
    ======================================

    Indexing and Slicing in Python
    Strings are an ordered collection of letters, numbers and symbols which we can actually access each of these by their position(indexing) in a string. We can access a group of letters by slicing. In this tutorial, we will cover indexing and slicing a string in Python as one since they go hand in hand in Python.

    Indexing in Python
    Indexing provides each character contained in a string an identity so we can access that character or characters via slicing. The index always starts at the number 0 and counts up till the end of the string. Each character, space, symbol, and the number is automatically assigned an index number.

    Example of a String Index

    In the above example, we see how a string is indexed. You may have noticed the count start at 0 so this means that the letter T is at the 0 index. Then the index counts up from there including spaces and symbols.

    Example How To Access a character via Indexing

    Indexing from the left side
    a = ‘This is a string’
    a[0]
    ‘T’

    Indexing from the right side
    a = ‘This is a string’
    a[-1]
    ‘g’
    In the above example, we created a string and assign it the name(variable) of a. On the next line we index from the left to obtain the first letter in the string. Notice that we use zero to get the first letter in the string. If we just wanted to get the second letter, then it would look like a[1] to get the h. In the second example, we index from the right using a negative index number. We get the g at the end of the string. Negative numbers count backwards. When we index from the right or the end we do not begin with 0 we actually start with -1.

    Here Are a Couple More Examples of Indexing

    b = ‘A new string for us to use’
    b[1]
    ‘ ‘
    b[4]
    ‘w’
    b[6]
    ‘s’
    b[-4]
    ‘ ‘
    b[-7]
    ‘ ‘
    b[-6]
    ‘t’
    Slicing in Python
    In above section, we looked at indexing where we can only access one character at a time. Slicing gives us the ability to access a group of characters or a group of characters by skipping(stepping). Same rules apply positive number starts from the left and a negative number starts from the right. Let’s look at some examples of slicing.

    Our String For Theses Examples

    Our String for Slicing Examples

    a = ‘0123456789’
    Example a[1:5]

    a = ‘0123456789’
    a[1:5]
    ‘1234’
    In the above example, we slice from the first index which in this case is the number one and slice up to but not including index of 5. Let’s break it down more “a” is name(variable) for the object then we have the opening square bracket which either indicates indexing or slicing then we have the number 1 which indicates index of 1 which is the starting point then a colon(:) which indicates we are slicing then we have the number 5 which instructs Python to stop at the index before the number 5 which is the fourth index position. Some new programmers get confused with the ending point in a slice which stops one spot before the number I give when writing the code. Hope that does not confuse you.

    Example a[2:]

    a = ‘0123456789’
    a[2:]
    ‘23456789’
    In this example, we slice but we do not give an ending index so what happens. Python will start at the beginning index and count up to the end of the string. In this case, Python starts at the second index and continues to count up to the end of the string.

    Example a[:7]

    a = ‘0123456789’
    a[:7]
    ‘0123456’
    In this example, we slice from an index of zero up to an index of 6 because the ending index always finishes one index position before we stated in the code. If we do not provide a starting index position like in above example Python will start index 0 and count up to the ending index.

    Example a[0:-1]

    a = ‘0123456789’
    a[0:-1]
    ‘012345678’
    In this example, we slice from the start of the string up to but not including the last number. Remember negative numbers count from the right starting at -1. We could have also wrote this like this a[:-1] and we would have got the same result. Try it.

    Example a[:]

    a = ‘0123456789’
    a[:]
    ‘0123456789’
    In this example, we basically just make a copy of the object that we just sliced. We provide no starting and ending index so we just get a copy of the string.

    Stepping Through a String

    We are going to add a third limit to our slice this limit allows us to step or skip through our string. Let’s take a look at some examples.

    a = ‘0123456789’
    a[0:9:2]
    ‘02468’
    What happened in this example? Well we slice from the 0 index and then end at 8 index(9 is what we coded but always one before) and then we step through string by 2 this is the third limit we have added.

Ví dụ về định dạng chuỗi Python

  • Tác giả: helpex.vn
  • Đánh giá: 5 ⭐ ( 1602 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bất cứ khi nào bạn đang lập trình một cái gì đó để con người có thể đọc được, bạn nhất định gặp phải rất nhiều trường hợp mà bạn sẽ cần phải định dạng chuỗi. May mắn thay, Python cung cấp…

Chuỗi (String) trong Python

  • Tác giả: viettuts.vn
  • Đánh giá: 4 ⭐ ( 2722 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Chuỗi (String) trong Python là một trong các kiểu phổ biến nhất trong Python. String trong Python là immutable. Chúng ta có thể tạo các chuỗi bằng cách

Bài 06. Kiểu dữ liệu chuỗi trong python – Phần 2. Cắt chuỗi (Slicing Strings)

  • Tác giả: pythonnangcao.com
  • Đánh giá: 5 ⭐ ( 2797 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Tìm ký tự trong chuỗi python

  • Tác giả: laptrinhcanban.com
  • Đánh giá: 5 ⭐ ( 5180 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn tìm ký tự trong chuỗi python. Bạn sẽ học được cách tìm ký tự trong chuỗi python bằng các phương thức có sẵn như find, rfind, index, rindex trong bài viết này. Bạn cũng sẽ h

Cách lập chỉ mục và cắt chuỗi trong Python 3

  • Tác giả: galaxyz.net
  • Đánh giá: 3 ⭐ ( 5839 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Kiểu dữ liệu chuỗi Python là một chuỗi được tạo thành từ một hoặc nhiều ký tự riêng lẻ có thể bao gồm chữ cái, số, ký tự khoảng trắng hoặc ký hiệu. Bởi vì một chuỗi là một chuỗi, nó có thể được truy cập theo các cách giống như các kiểu dữ liệu dựa trên chuỗi khác, thông qua lập index và cắt.

Python – Danh sách

  • Tác giả: isolution.pro
  • Đánh giá: 4 ⭐ ( 9125 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Danh sách là một kiểu dữ liệu linh hoạt nhất có sẵn trong Python, có thể được viết dưới dạng danh sách các giá trị (mục) được phân tách bằng dấu phẩy giữa các dấu ngoặc vuông. Điều quan trọng về danh sách là các mục trong danh sách không cần cùng loại. Tạo danh sách đơn giản như đặt…

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Các loại dữ liệu JSON - giá trị số nguyên trong json

By ads_php