Python xuất hiện lần thứ 2

💬 câu hỏi. Đưa ra một chuỗi Python. Làm cách nào để tách chuỗi sau lần xuất hiện thứ hai của dấu tách (chuỗi hoặc ký tự)? . làm cách nào để bỏ qua lần xuất hiện dấu phân cách đầu tiên khi tách chuỗi?

Python xuất hiện lần thứ 2

Dưới đây là ba ví dụ

  1. 'a-b-c-d-e-f-g-h'sep='-' nên được chia thành ['a-b', 'c', 'd', 'e', 'f', 'g', 'h']
  2. 'a-b'sep='-' nên được chia thành ['a-b']
  3. 'helloxxxworldxxxpythonxxxisxxxgreat'sep='xxx' nên được tách thành ['helloxxxworld', 'python', 'is', 'great']

Giải pháp

Bạn có thể tách một chuỗi sau lần xuất hiện thứ hai của một ký tự đã cho trong ba bước

  1. Đầu tiên, tách toàn bộ chuỗi bằng cách sử dụng dấu tách sep trong 'a-b-c-d-e-f-g-h'0
  2. Thứ hai, kết hợp hai phần tử đầu tiên của danh sách phân tách kết quả bằng cách gọi phương thức 'a-b-c-d-e-f-g-h'1
  3. Thứ ba, sử dụng phép cắt và nối danh sách để tạo danh sách kết quả mới

Đoạn mã sau tạo một hàm lấy đầu vào là chuỗi 'a-b-c-d-e-f-g-h'2 và chuỗi dấu phân cách 'a-b-c-d-e-f-g-h'3 và tách chuỗi ở lần xuất hiện thứ hai

def my_split(s, sep):
    all_split = s.split(sep)
    return [sep.join(all_split[0:2])] + all_split[2:]


print(my_split('a-b-c-d-e-f-g-h', '-'))
# ['a-b', 'c', 'd', 'e', 'f', 'g', 'h']


print(my_split('a-b', '-'))
# ['a-b']


print(my_split('helloxxxworldxxxpythonxxxisxxxgreat', 'xxx'))
# ['helloxxxworld', 'python', 'is', 'great']

Mã làm nhiều việc

Đầu tiên, nó tạo một danh sách 'a-b-c-d-e-f-g-h'4 bằng cách tách chuỗi 'a-b-c-d-e-f-g-h'2 sử dụng dấu phân cách 'a-b-c-d-e-f-g-h'3. Ví dụ, khi sử dụng nó trên chuỗi 'a-b-c-d-e-f-g-h'sep='-', nó sẽ trả về 'a-b-c-d-e-f-g-h'9

👉 Hướng dẫn đề xuất. Tách chuỗi Python

Thứ hai, nó kết hợp hai phần tử đầu tiên bằng cách sử dụng chuỗi phân cách 'a-b-c-d-e-f-g-h'3 giữa chúng bằng cách chạy sep='-'1

Hướng dẫn được đề xuất. 👇

  • Chuỗi Python Tham gia cho sep='-'2
  • Python Slicing cho sep='-'3

Thứ ba, nó đặt kết quả vào một danh sách bằng cách sử dụng ký hiệu dấu ngoặc vuông, i. e. , chúng tôi nhận được một danh sách có một phần tử chuỗi ['a-b'] cho ví dụ của chúng tôi

👉 Hướng dẫn đề xuất. Cách tạo danh sách Python?

Thứ tư, bạn nối danh sách này với danh sách 'a-b-c-d-e-f-g-h'4 còn lại, bỏ qua hai kết quả phân tách đầu tiên, vốn đã được hợp nhất để bỏ qua lần phân tách đầu tiên, bằng cách sử dụng biểu thức cắt sep='-'6

Trong ví dụ của chúng tôi, chúng tôi nhận được ['a-b']sep='-'8 nối thành ['a-b', 'c', 'd', 'e', 'f', 'g', 'h']

👉 Hướng dẫn đề xuất. Danh sách nối trong Python

Cảm ơn đã đọc hướng dẫn ngắn này. Để tiếp tục học hỏi, vui lòng tham gia học viện email miễn phí 100% của tôi với các cheat sheet và nội dung học tập thông thường

Python xuất hiện lần thứ 2

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners (NoStarch 2020), đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Mục đầu tiên trong danh sách có chỉ mục là

my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
0 và mục cuối cùng có chỉ mục là -1 hoặc
my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
2

Nếu bạn cần xử lý tình huống trong đó giá trị không có trong danh sách, hãy sử dụng toán tử bậc ba

Nếu giá trị được chứa trong danh sách, chúng tôi trả về chỉ mục của lần xuất hiện cuối cùng, nếu không, chúng tôi trả về

my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
3

Ngoài ra, bạn có thể sử dụng hàm

my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
4

Tìm chỉ mục về lần xuất hiện cuối cùng của mục trong Danh sách bằng max()

Để tìm chỉ mục của lần xuất hiện cuối cùng của một mục trong danh sách

  1. Sử dụng biểu thức trình tạo để lặp qua danh sách với
    my_str = 'avocado'
    
    my_list = ['APPLE', 'BANANA', 'KIWI']
    
    try:
        idx = [item.lower() for item in my_list].index(my_str.lower())
        print(idx)
    except ValueError:
        print('Specified value is NOT present in the list')
    
    5
  2. Trả về chỉ mục của từng mục danh sách bằng với giá trị đã chỉ định
  3. Sử dụng hàm
    my_str = 'avocado'
    
    my_list = ['APPLE', 'BANANA', 'KIWI']
    
    try:
        idx = [item.lower() for item in my_list].index(my_str.lower())
        print(idx)
    except ValueError:
        print('Specified value is NOT present in the list')
    
    4 để lấy chỉ số của lần xuất hiện cuối cùng của mục

Chúng tôi đã sử dụng biểu thức trình tạo để lặp qua đối tượng

my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
7

Biểu thức trình tạo được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện

Hàm nhận một lần lặp và trả về một đối tượng liệt kê chứa các bộ trong đó phần tử đầu tiên là chỉ mục và phần tử thứ hai là mục tương ứng

Trên mỗi lần lặp lại, chúng tôi kiểm tra xem mục hiện tại có bằng một giá trị cụ thể hay không và trả về chỉ mục hiện tại nếu điều kiện được đáp ứng

Bước cuối cùng là sử dụng hàm

my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
4 để trả về chỉ mục của lần xuất hiện cuối cùng của mục trong danh sách

Hàm trả về mục lớn nhất trong một lần lặp hoặc mục lớn nhất trong hai hoặc nhiều đối số

Lưu ý rằng chúng tôi đặt đối số từ khóa

my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
9 thành
my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
3 trong lệnh gọi tới
my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
4

Đối số

my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
9 chỉ định giá trị trả về nếu iterable được cung cấp trống

Nếu giá trị không có trong danh sách, chúng tôi trả về

my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
3

Nếu giá trị không có trong danh sách và đối số

my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
9 không được cung cấp, thì hàm
my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
4 sẽ tạo ra một giá trị list.index()6

Tìm chỉ mục lần xuất hiện thứ N của mục trong Danh sách bằng Python

Để tìm chỉ mục của lần xuất hiện thứ N của một mục trong danh sách

  1. Nhận các chỉ số của tất cả các lần xuất hiện của mục trong danh sách
  2. Truy cập danh sách tại chỉ số N - 1 để lấy chỉ số của lần xuất hiện thứ N

Chúng tôi đã sử dụng hàm

my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
5 để truy cập vào chỉ mục của lần lặp hiện tại

Hàm nhận một lần lặp và trả về một đối tượng liệt kê chứa các bộ trong đó phần tử đầu tiên là chỉ mục và phần tử thứ hai là mục tương ứng

Trên mỗi lần lặp lại, chúng tôi kiểm tra xem mục hiện tại có bằng giá trị được cung cấp không

Nếu điều kiện được đáp ứng, chúng tôi trả lại chỉ số tương ứng

Danh sách list.index()8 chứa các chỉ số của tất cả các mục phù hợp

Chúng tôi đã sử dụng câu lệnh list.index()9 để kiểm tra xem độ dài của danh sách có nhỏ hơn N không

if len(indices) < n:
    return -1

Nếu độ dài của danh sách các chỉ số nhỏ hơn N, thì giá trị không được chứa N lần trong danh sách

Chúng tôi đã sử dụng giá trị ________ 49 _______ trong trường hợp này, nhưng bạn có thể sử dụng bất kỳ giá trị nào khác, e. g.

my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')
3

Nếu giá trị được chứa N lần trong danh sách, chúng tôi truy cập danh sách list.index()8 tại chỉ mục 13

Tìm chỉ mục của chuỗi trong danh sách bỏ qua trường hợp trong Python

Để tìm chỉ mục của một chuỗi trong danh sách bỏ qua trường hợp

  1. Sử dụng khả năng hiểu danh sách để chuyển đổi các chuỗi trong danh sách thành chữ thường
  2. Sử dụng phương thức list.index() để lấy chỉ mục của chuỗi trong danh sách
  3. Phương thức 15 sẽ trả về chỉ số của lần xuất hiện đầu tiên của chuỗi trong danh sách

Chúng tôi đã sử dụng cách hiểu danh sách để chuyển đổi danh sách các chuỗi thành chữ thường

Khả năng hiểu danh sách được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện

Phương thức trả về một bản sao của chuỗi với tất cả các ký tự được viết hoa được chuyển đổi thành chữ thường

Phương thức không thay đổi chuỗi ban đầu, nó trả về một chuỗi mới. Các chuỗi là bất biến trong Python

Bước cuối cùng là sử dụng phương thức list.index() để lấy chỉ mục của chuỗi trong danh sách

Phương thức list.index() trả về chỉ mục của mục đầu tiên có giá trị bằng đối số được cung cấp

Đảm bảo chuyển đổi chuỗi thành chữ thường khi chuyển nó sang phương thức list.index()

Cả hai chuỗi phải là chữ thường hoặc chữ hoa để thực hiện so sánh không phân biệt chữ hoa chữ thường

Phương thức list.index() tăng list.index()6 nếu không có mục nào như vậy trong danh sách

Nếu bạn cần xử lý tình huống không tìm thấy giá trị trong danh sách, hãy sử dụng câu lệnh my_list[::-1]1

my_str = 'avocado'

my_list = ['APPLE', 'BANANA', 'KIWI']

try:
    idx = [item.lower() for item in my_list].index(my_str.lower())
    print(idx)
except ValueError:
    print('Specified value is NOT present in the list')

Chuỗi được chỉ định không có trong danh sách, do đó, một list.index()6 được nâng lên và được xử lý bởi khối my_list[::-1]3

Làm cách nào để tìm các ký tự lặp lại thứ hai trong một chuỗi bằng Python?

Chúng ta có thể tìm thấy lần xuất hiện thứ hai trong Chuỗi trong Python bằng cách sử dụng vòng lặp for . Tạo một chuỗi và khởi tạo danh sách đếm. Sau đó đếm số lần xuất hiện của mỗi ký tự. Cuối cùng, duyệt qua danh sách đếm và tìm ký tự xuất hiện nhiều thứ hai.

Làm cách nào để tìm lần xuất hiện thứ n của ký tự trong một chuỗi bằng Python?

Cách tiếp cận đầu tiên là sử dụng phương thức split() . Chúng ta phải định nghĩa một hàm với các đối số là chuỗi, chuỗi con và số nguyên n. Bằng cách chia tại chuỗi con với n+1 lần tách tối đa, bạn có thể xác định vị trí xuất hiện lần thứ n của chuỗi con trong một chuỗi.

Làm cách nào để tìm lần xuất hiện thứ n của một phần tử trong danh sách bằng Python?

Để tìm chỉ mục của lần xuất hiện thứ N của một mục trong danh sách. .
Nhận các chỉ số của tất cả các lần xuất hiện của mục trong danh sách
Truy cập danh sách tại chỉ số N - 1 để lấy chỉ số của lần xuất hiện thứ N

Làm cách nào để tìm lần xuất hiện cuối cùng của một ký tự trong chuỗi bằng Python?

Phương thức rfind() tìm lần xuất hiện cuối cùng của giá trị đã chỉ định. Phương thức rfind() trả về -1 nếu không tìm thấy giá trị.