Hướng dẫn how do you get the first two words of a string in python? - làm thế nào để bạn có được hai từ đầu tiên của một chuỗi trong python?

Tôi đang tìm kiếm một mã lấy các từ đầu tiên 4 [hoặc 5] trong một tập lệnh. Tôi đã thử điều này:

import re    
my_string = "the cat and this dog are in the garden"    
a = my_string.split[' ', 1][0]
b = my_string.split[' ', 1][1]

Nhưng tôi không thể mất nhiều hơn 2 chuỗi:

a = the
b = cat and this dog are in the garden

Tôi muốn có:

a = the
b = cat
c = and
d = this
...

Đã hỏi ngày 31 tháng 3 năm 2014 lúc 16:49Mar 31, 2014 at 16:49

GuillauguillaumeGuillaume

2.6525 huy hiệu vàng26 Huy hiệu bạc41 Huy hiệu đồng5 gold badges26 silver badges41 bronze badges

1

Bạn có thể sử dụng ký hiệu lát cắt trong danh sách được tạo bởi Split:slice notation on the list created by split:

my_string.split[][:4] # first 4 words
my_string.split[][:5] # first 5 words

N.B. Đây là các lệnh ví dụ. Bạn nên sử dụng cái này hay cái kia, không liên tiếp.

Đã trả lời ngày 31 tháng 3 năm 2014 lúc 16:53Mar 31, 2014 at 16:53

4

Đối số thứ hai của phương pháp

a = the
b = cat and this dog are in the garden
2 là giới hạn. Đừng sử dụng nó và bạn sẽ nhận được tất cả các từ. Sử dụng nó như thế này:

my_string = "the cat and this dog are in the garden"    
splitted = my_string.split[]

first = splitted[0]
second = splitted[1]

...

Ngoài ra, đừng gọi

a = the
b = cat and this dog are in the garden
2 mỗi khi bạn muốn một từ, nó đắt tiền. Làm điều đó một lần và sau đó chỉ sử dụng kết quả sau, như trong ví dụ của tôi. Như bạn có thể thấy, không cần thêm dấu phân cách
a = the
b = cat and this dog are in the garden
4 vì dấu phân cách mặc định cho hàm
a = the
b = cat and this dog are in the garden
2 [
a = the
b = cat and this dog are in the garden
6] khớp với tất cả khoảng trắng. Tuy nhiên, bạn có thể sử dụng nó nếu bạn không muốn phân chia trên
a = the
b = cat and this dog are in the garden
7 chẳng hạn.
As you can see, there is no need to add the
a = the
b = cat and this dog are in the garden
4 delimiter since the default delimiter for the
a = the
b = cat and this dog are in the garden
2 function [
a = the
b = cat and this dog are in the garden
6] matches all whitespace. You can use it however if you don't want to split on
a = the
b = cat and this dog are in the garden
7 for example.

Đã trả lời ngày 31 tháng 3 năm 2014 lúc 16:52Mar 31, 2014 at 16:52

Bosnjakbosnjakbosnjak

8.1442 Huy hiệu vàng21 Huy hiệu bạc46 Huy hiệu đồng2 gold badges21 silver badges46 bronze badges

6

Bạn có thể chia một chuỗi trên khoảng trắng dễ dàng, nhưng nếu chuỗi của bạn không có đủ từ trong đó, bài tập sẽ thất bại khi danh sách trống.

a, b, c, d, e = my_string.split[][:5] # May fail

Bạn nên giữ danh sách như là thay vì gán cho mỗi thành viên cho một tên riêng lẻ.

words = my_string.split[]
at_most_five_words = words[:5] # terrible variable name

Đó là một tên biến khủng khiếp, nhưng tôi đã sử dụng nó để minh họa thực tế rằng bạn không được đảm bảo để có được năm từ - bạn chỉ đảm bảo nhận được nhiều nhất năm từ.

Đã trả lời ngày 31 tháng 3 năm 2014 lúc 16:53Mar 31, 2014 at 16:53

Đối số thứ hai của phương pháp

a = the
b = cat and this dog are in the garden
2 là giới hạn. Đừng sử dụng nó và bạn sẽ nhận được tất cả các từ. Sử dụng nó như thế này:kojiro

Ngoài ra, đừng gọi

a = the
b = cat and this dog are in the garden
2 mỗi khi bạn muốn một từ, nó đắt tiền. Làm điều đó một lần và sau đó chỉ sử dụng kết quả sau, như trong ví dụ của tôi. Như bạn có thể thấy, không cần thêm dấu phân cách
a = the
b = cat and this dog are in the garden
4 vì dấu phân cách mặc định cho hàm
a = the
b = cat and this dog are in the garden
2 [
a = the
b = cat and this dog are in the garden
6] khớp với tất cả khoảng trắng. Tuy nhiên, bạn có thể sử dụng nó nếu bạn không muốn phân chia trên
a = the
b = cat and this dog are in the garden
7 chẳng hạn.18 gold badges135 silver badges196 bronze badges

Nếu bạn đang làm việc với các chuỗi trong Python, có thể đôi khi bạn chỉ cần nhận được N từ đầu tiên từ một chuỗi. Điều này có thể dễ dàng thực hiện với một vài dòng mã Python. Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách lấy n từ đầu tiên từ một chuỗi trong Python.

Đầu ra

['Python', 'is', 'a', 'programming', 'language']

Python is a programming language

Trong ví dụ mã trên

  1. Đã tạo một biến có tên Input_str có chứa một chuỗi có nhiều từ.input_str that contains a string with multiple words.
  2. Đã tạo một biến gọi là N và gán số nguyên 5 cho nó.n and assigned the integer 5 to it.
  3. Dòng thứ ba tạo ra một danh sách gọi là result_list, chứa 5 phần tử đầu tiên của danh sách input_str [nghĩa là các từ "python", "là", "a", "lập trình" và "ngôn ngữ"].result_list, which contains the first 5 elements of the input_str list [i.e. the words "Python", "is", "a", "programming" and "language"].
  4. Sau đó, chúng tôi đã tạo một chuỗi có tên result_str, đó là sự kết hợp của các phần tử của result_list, được phân tách bằng không gian.result_str, which is the concatenation of the elements of result_list, separated by spaces.
  5. Cuối cùng, chúng tôi in nội dung của result_list và result_str tương ứng.

Để hiểu ví dụ về mã trên, bạn có thể đọc các bài viết dưới đây:

Chuyển đổi danh sách thành chuỗi

Chia chuỗi phân chia để liệt kê trong Python

Phương pháp 1: Sử dụng hàm split [] và tham gia []

Python có nhiều chức năng tích hợp cho phép bạn thao tác chuỗi. Hai trong số các hàm này là các hàm chia [] và tham gia []. Hàm chia [] cho phép bạn chia một chuỗi thành một danh sách các chuỗi con. Hàm tham gia [] cho phép bạn tham gia một danh sách các chuỗi vào một chuỗi. Hai chức năng này có thể được sử dụng cùng nhau để lấy n từ đầu tiên từ một chuỗi.split[] and join[] functions. The split[] function allows you to split a string into a list of substrings. The join[] function allows you to join a list of strings into a single string. These two functions can be used together to get the first n words from a string.

my_str = "Programming is fun and interesting"

parts = my_str.split[][:3]
result = " ".join[parts]

print[result]

Đầu ra

Programming is fun

Trong ví dụ mã trên:

  1. & nbsp; chúng tôi tạo một chuỗi, my_str.my_str.
  2. Chúng tôi tạo một danh sách có tên & nbsp; các phần, bằng cách chia my_str thành các từ thành phần của nó.parts, by splitting my_str into its component words.
  3. Chúng tôi lấy ba từ đầu tiên từ các phần.parts.
  4. Chúng tôi tạo một chuỗi mới, kết quả, bằng cách kết hợp các từ từ ba phần tử đầu tiên của các phần.result, by joining together the words from the first three elements of parts.
  5. Chúng tôi in & nbsp; biến kết quả & nbsp; vào bảng điều khiển.result variable to the console.

Sử dụng hàm regex re.findall [] và tham gia []

Chúng ta có thể sử dụng hàm re.findall [] trong python để có được n từ đầu tiên trong một chuỗi đã cho. Hàm này trả về một danh sách tất cả các trận đấu trong chuỗi đã cho. Sau đó, chúng ta có thể sử dụng hàm Join [] để tham gia tất cả các từ trong danh sách và trả về một chuỗi.re.findall[] function in python to get the first n words in a given string. This function returns a list of all the matches in the given string. We can then use the join[] function to join all the words in the list and return a string.

a = the
b = cat and this dog are in the garden
0

Đầu ra

Programming is fun

Explanation:

  1. Mã trên nhập mô -đun RE, cung cấp các chức năng để làm việc với các biểu thức thông thường.re module, which provides functions for working with regular expressions.
  2. My_str là một chuỗi chứa cụm từ "lập trình rất thú vị và thú vị". is a string containing the phrase "Programming is fun and interesting".
  3. Re.Findall [] là một hàm tìm thấy tất cả các chuỗi con trong một chuỗi khớp với một biểu thức chính quy nhất định. Trong trường hợp này, biểu thức chính quy là r '\ w+', phù hợp với bất kỳ chuỗi nào của một hoặc nhiều ký tự chữ và số. Hàm findall [] trả về một danh sách tất cả các trận đấu được tìm thấy.is a function that finds all substrings in a string that match a given regular expression. In this case, the regular expression is r'\w+', which matches any sequence of one or more alphanumeric characters. The findall[] function returns a list of all matches found.
  4. Ký hiệu lát [: 3] trả về ba yếu tố đầu tiên của danh sách được trả về bởi findall [].findall[].
  5. Phương thức tham gia [] kết hợp các phần tử của một danh sách, được phân tách bằng một chuỗi nhất định. Trong trường hợp này, danh sách được trả về bởi findall [] được nối với một ký tự không gian. findall[] is joined by a space character.
  6. Cuối cùng, kết quả được in vào bảng điều khiển. & NBSP;result is printed to the console. 

Bài Viết Liên Quan

Chủ Đề