Hướng dẫn convert string to list of words python - chuyển đổi chuỗi thành danh sách các từ python


Để chuyển đổi một chuỗi trong danh sách các từ, bạn chỉ cần chia nó trên khoảng trắng. Bạn có thể sử dụng split () từ lớp chuỗi. Phân định mặc định cho phương pháp này là khoảng trắng, tức là khi được gọi trên một chuỗi, nó sẽ chia chuỗi đó ở các ký tự Whitespace.

Ví dụ

>>> "Please split this string".split()
['Please', 'split', 'this', 'string']

Regex cũng có thể được sử dụng để giải quyết vấn đề này. Bạn có thể gọi phương thức re.split () bằng cách sử dụng regex '\ s+' làm dấu phân cách. Lưu ý rằng phương pháp này chậm hơn phương thức trên.

>>> import re
>>> re.split('\s+', 'Please split this string')
['Please', 'split', 'this', 'string']

Hướng dẫn convert string to list of words python - chuyển đổi chuỗi thành danh sách các từ python

Cập nhật vào ngày 17 tháng 12 năm 2019 06:42:15

  • Câu hỏi và câu trả lời liên quan
  • Chương trình Python để chuyển đổi danh sách thành chuỗi
  • Chuyển đổi danh sách thành chuỗi trong chương trình Python
  • Python - Chuyển đổi danh sách chuỗi thành danh sách
  • Làm thế nào để chuyển đổi biểu diễn chuỗi của danh sách thành danh sách trong Python?
  • Chuyển đổi danh sách chuỗi thành danh sách danh sách trong Python
  • Chương trình Python để chuyển đổi danh sách các ký tự thành chuỗi
  • Chuyển đổi biểu diễn chuỗi của danh sách thành danh sách trong Python
  • Làm thế nào để chuyển đổi danh sách thành chuỗi trong Python?
  • Làm thế nào để chuyển đổi danh sách thành chuỗi trong C#?
  • Chuyển đổi chuỗi thành danh sách các ký tự trong Java
  • Chuyển đổi danh sách chuỗi thành chuỗi phân tách bằng dấu phẩy trong Java
  • Làm thế nào để chuyển đổi danh sách các ký tự thành một chuỗi trong C#?
  • Chuyển đổi danh sách chuỗi số thành danh sách các số nguyên trong Python
  • Chuyển đổi danh sách kèm theo chuỗi thành danh sách trong Python
  • Làm thế nào để chuyển đổi từ điển Python thành một danh sách?

Tôi đang cố gắng chuyển đổi một chuỗi thành một danh sách các từ sử dụng Python. Tôi muốn lấy một cái gì đó như sau:

string = 'This is a string, with words!'

Sau đó chuyển đổi thành một cái gì đó như thế này:

list = ['This', 'is', 'a', 'string', 'with', 'words']

Lưu ý thiếu sót của dấu câu và không gian. Điều gì sẽ là cách nhanh nhất để đi về điều này?

Hướng dẫn convert string to list of words python - chuyển đổi chuỗi thành danh sách các từ python

Hippietrail

15.1K17 Huy hiệu vàng96 Huy hiệu bạc148 Huy hiệu đồng17 gold badges96 silver badges148 bronze badges

Đã hỏi ngày 31 tháng 5 năm 2011 lúc 0:09May 31, 2011 at 0:09

Hướng dẫn convert string to list of words python - chuyển đổi chuỗi thành danh sách các từ python

hình chữ nhậtrectangletangle

48.1K91 Huy hiệu vàng198 Huy hiệu bạc273 Huy hiệu Đồng91 gold badges198 silver badges273 bronze badges

Tôi nghĩ rằng đây là cách đơn giản nhất cho bất kỳ ai khác vấp ngã trên bài đăng này được đưa ra phản hồi muộn:

>>> string = 'This is a string, with words!'
>>> string.split()
['This', 'is', 'a', 'string,', 'with', 'words!']

Đã trả lời ngày 6 tháng 12 năm 2012 lúc 0:22Dec 6, 2012 at 0:22

1

Thử cái này:

import re

mystr = 'This is a string, with words!'
wordList = re.sub("[^\w]", " ",  mystr).split()

Làm thế nào nó hoạt động:

Từ các tài liệu:

re.sub(pattern, repl, string, count=0, flags=0)

Trả về chuỗi thu được bằng cách thay thế các lần xuất hiện không chồng chéo bên trái của mẫu trong chuỗi bằng cách thay thế. Nếu mẫu được tìm thấy, chuỗi được trả về không thay đổi. REPLE có thể là một chuỗi hoặc một hàm.

Vì vậy, trong trường hợp của chúng tôi:

Mẫu là bất kỳ ký tự không phải là tổng số.

.

A đến Z, A đến Z, 0 đến 9 và nhấn mạnh.

Vì vậy, chúng tôi phù hợp với bất kỳ ký tự không phải là nguyên nhân và thay thế nó bằng một không gian.

Và sau đó chúng tôi chia () nó chia chuỗi theo không gian và chuyển đổi nó thành một danh sách

Vì vậy, 'Hello-world'

trở thành 'Hello World'

với re.sub

Và sau đó ['Xin chào', 'Thế giới']]

Sau khi chia ()

Hãy cho tôi biết nếu có bất kỳ nghi ngờ xuất hiện.

Hướng dẫn convert string to list of words python - chuyển đổi chuỗi thành danh sách các từ python

Đã trả lời ngày 31 tháng 5 năm 2011 lúc 0:13May 31, 2011 at 0:13

BryanbryanBryan

6.3392 Huy hiệu vàng28 Huy hiệu bạc16 Huy hiệu Đồng2 gold badges28 silver badges16 bronze badges

3

Để làm điều này đúng cách là khá phức tạp. Đối với nghiên cứu của bạn, nó được gọi là mã thông báo từ. Bạn nên nhìn vào NLTK nếu bạn muốn xem những gì người khác đã làm, thay vì bắt đầu từ đầu:

>>> import nltk
>>> paragraph = u"Hi, this is my first sentence. And this is my second."
>>> sentences = nltk.sent_tokenize(paragraph)
>>> for sentence in sentences:
...     nltk.word_tokenize(sentence)
[u'Hi', u',', u'this', u'is', u'my', u'first', u'sentence', u'.']
[u'And', u'this', u'is', u'my', u'second', u'.']

Đã trả lời ngày 31 tháng 5 năm 2011 lúc 0:15May 31, 2011 at 0:15

Hướng dẫn convert string to list of words python - chuyển đổi chuỗi thành danh sách các từ python

Tim McNamaratim McNamaraTim McNamara

17.6K4 Huy hiệu vàng51 Huy hiệu bạc82 Huy hiệu Đồng4 gold badges51 silver badges82 bronze badges

Cách đơn giản nhất:

>>> import re
>>> string = 'This is a string, with words!'
>>> re.findall(r'\w+', string)
['This', 'is', 'a', 'string', 'with', 'words']

Đã trả lời ngày 31 tháng 5 năm 2011 lúc 2:19May 31, 2011 at 2:19

JbernardojbernardoJBernardo

31.2K10 Huy hiệu vàng87 Huy hiệu bạc111 Huy hiệu đồng10 gold badges87 silver badges111 bronze badges

Sử dụng

string = 'This is a string, with words!'
1 để hoàn thiện:

import re
import string
x = re.sub('['+string.punctuation+']', '', s).split()

Điều này xử lý Newlines là tốt.

Đã trả lời ngày 31 tháng 5 năm 2011 lúc 0:24May 31, 2011 at 0:24

MTRWMTRWmtrw

32,8K7 Huy hiệu vàng60 Huy hiệu bạc70 Huy hiệu đồng7 gold badges60 silver badges70 bronze badges

0

Vâng, bạn có thể sử dụng

>>> import re
>>> re.split('\s+', 'Please split this string')
['Please', 'split', 'this', 'string']
0

Lưu ý rằng cả

string = 'This is a string, with words!'
2 và
string = 'This is a string, with words!'
3 đều là tên của các loại tích hợp, vì vậy bạn có thể không muốn sử dụng chúng làm tên biến của bạn.

Hướng dẫn convert string to list of words python - chuyển đổi chuỗi thành danh sách các từ python

Martineau

Huy hiệu vàng 115K2525 gold badges160 silver badges284 bronze badges

Đã trả lời ngày 31 tháng 5 năm 2011 lúc 0:10May 31, 2011 at 0:10

CameroncameronCameron

93.4K21 Huy hiệu vàng194 Huy hiệu bạc221 Huy hiệu đồng21 gold badges194 silver badges221 bronze badges

Lấy cảm hứng từ câu trả lời của @MTRW, nhưng chỉ được cải thiện để loại bỏ dấu chấm câu tại các ranh giới từ:

>>> import re
>>> re.split('\s+', 'Please split this string')
['Please', 'split', 'this', 'string']
1

Đã trả lời ngày 8 tháng 6 năm 2017 lúc 9:55Jun 8, 2017 at 9:55

user222758user222758user222758

12.7K13 Huy hiệu vàng72 Huy hiệu bạc95 Huy hiệu Đồng13 gold badges72 silver badges95 bronze badges

Một biểu thức thường xuyên cho các từ sẽ cho bạn quyền kiểm soát nhiều nhất. Bạn sẽ muốn xem xét cẩn thận cách đối phó với các từ với dấu gạch ngang hoặc dấu nháy đơn, như "Tôi".

Đã trả lời ngày 31 tháng 5 năm 2011 lúc 0:14May 31, 2011 at 0:14

Tofutimtofutimtofutim

21.7K20 Huy hiệu vàng83 Huy hiệu bạc145 Huy hiệu Đồng20 gold badges83 silver badges145 bronze badges

Cá nhân, tôi nghĩ rằng điều này hơi sạch hơn các câu trả lời được cung cấp

>>> import re
>>> re.split('\s+', 'Please split this string')
['Please', 'split', 'this', 'string']
2

Đã trả lời ngày 18 tháng 5 năm 2018 lúc 5:47May 18, 2018 at 5:47

Hướng dẫn convert string to list of words python - chuyển đổi chuỗi thành danh sách các từ python

>>> import re
>>> re.split('\s+', 'Please split this string')
['Please', 'split', 'this', 'string']
3

Hướng dẫn convert string to list of words python - chuyển đổi chuỗi thành danh sách các từ python

Josliber ♦

43.4K12 Huy hiệu vàng96 Huy hiệu bạc132 Huy hiệu Đồng12 gold badges96 silver badges132 bronze badges

Đã trả lời ngày 11 tháng 8 năm 2015 lúc 15:14Aug 11, 2015 at 15:14

Bằng cách này, bạn loại bỏ mọi char đặc biệt bên ngoài bảng chữ cái:

>>> import re
>>> re.split('\s+', 'Please split this string')
['Please', 'split', 'this', 'string']
4

Tôi không chắc đây là điều này nhanh hay tối ưu hay thậm chí là đúng cách để lập trình.

Đã trả lời ngày 30 tháng 7 năm 2017 lúc 15:22Jul 30, 2017 at 15:22

>>> import re
>>> re.split('\s+', 'Please split this string')
['Please', 'split', 'this', 'string']
5

Hàm này sẽ trả về danh sách các từ của một chuỗi đã cho. Trong trường hợp này, nếu chúng ta gọi chức năng như sau,

>>> import re
>>> re.split('\s+', 'Please split this string')
['Please', 'split', 'this', 'string']
6

Đầu ra trả về của hàm sẽ là

>>> import re
>>> re.split('\s+', 'Please split this string')
['Please', 'split', 'this', 'string']
7

Đã trả lời ngày 4 tháng 2 lúc 12:43Feb 4 at 12:43

Đây là từ nỗ lực của tôi đối với một thử thách mã hóa không thể sử dụng regex,

>>> import re
>>> re.split('\s+', 'Please split this string')
['Please', 'split', 'this', 'string']
8

Vai trò của dấu nháy đơn có vẻ thú vị.

Đã trả lời ngày 28 tháng 5 năm 2015 lúc 6:30May 28, 2015 at 6:30

Có lẽ không thanh lịch lắm, nhưng ít nhất bạn biết những gì đang xảy ra.

>>> import re
>>> re.split('\s+', 'Please split this string')
['Please', 'split', 'this', 'string']
9

Đã trả lời ngày 15 tháng 3 năm 2021 lúc 20:03Mar 15, 2021 at 20:03

Hướng dẫn convert string to list of words python - chuyển đổi chuỗi thành danh sách các từ python

1

Bạn có thể thử và làm điều này:

string = 'This is a string, with words!'
0

user222758

12.7K13 Huy hiệu vàng72 Huy hiệu bạc95 Huy hiệu Đồng13 gold badges72 silver badges95 bronze badges

Một biểu thức thường xuyên cho các từ sẽ cho bạn quyền kiểm soát nhiều nhất. Bạn sẽ muốn xem xét cẩn thận cách đối phó với các từ với dấu gạch ngang hoặc dấu nháy đơn, như "Tôi".Aug 12, 2013 at 13:49

Làm thế nào để bạn thay đổi một chuỗi thành một danh sách trong Python?

Thay thế một chuỗi cụ thể trong một danh sách. Nếu bạn muốn thay thế chuỗi các phần tử của danh sách, hãy sử dụng phương thức chuỗi thay thế () cho mỗi phần tử bằng cách hiểu danh sách. Nếu không có chuỗi được thay thế, áp dụng thay thế () sẽ không thay đổi nó, vì vậy bạn không cần chọn một phần tử có điều kiện nếu điều kiện.use the string method replace() for each element with the list comprehension. If there is no string to be replaced, applying replace() will not change it, so you don't need to select an element with if condition .

Làm thế nào để bạn lập một danh sách các từ từ một câu trong Python?

Cách tiếp cận đơn giản nhất do Python cung cấp để chuyển đổi danh sách các câu đã cho thành các từ với các chỉ số riêng biệt là sử dụng phương thức split ().Phương thức này chia một chuỗi thành một danh sách trong đó mỗi từ là một mục danh sách.use split() method. This method split a string into a list where each word is a list item.

Làm cách nào để chuyển đổi một chuỗi thành danh sách các chuỗi?

Bạn có thể kết hợp một danh sách các chuỗi vào một chuỗi với phương thức chuỗi, hãy nối ().Gọi phương thức tham gia () từ 'chuỗi vào chèn' và truyền [danh sách các chuỗi].Nếu bạn sử dụng một chuỗi trống '', [Danh sách các chuỗi] chỉ đơn giản là được nối và nếu bạn sử dụng dấu phẩy, thì nó sẽ tạo ra một chuỗi được phân phối bằng dấu phẩy.with the string method, join() . Call the join() method from 'String to insert' and pass [List of strings] . If you use an empty string '' , [List of strings] is simply concatenated, and if you use a comma , , it makes a comma-delimited string.

Làm thế nào để bạn chuyển đổi một chuỗi nhiều dòng thành một danh sách trong Python?

Python: Chia một chuỗi đa dòng thành một danh sách các dòng..
Sử dụng str.Split () và '\ n' để phù hợp với các lần phá vỡ dòng và tạo danh sách ..
str.Splitlines () cung cấp chức năng tương tự với đoạn trích này ..