Hướng dẫn how do i compare multiple string values in python? - làm cách nào để so sánh nhiều giá trị chuỗi trong python?

Tôi đang cố gắng so sánh một chuỗi gọi là

if facility == "auth" or facility == "authpriv" ...
4 với nhiều chuỗi có thể để kiểm tra xem nó có hợp lệ không. Các chuỗi hợp lệ là:

auth, authpriv, daemon, cron, ftp, lpr, kern, mail, news, syslog, user, uucp, local0, ... , local7

Có một cách hiệu quả để làm điều này ngoài:

if facility == "auth" or facility == "authpriv" ...

hỏi ngày 27 tháng 7 năm 2011 lúc 0:35Jul 27, 2011 at 0:35

3

Nếu, OTOH, danh sách các chuỗi của bạn thực sự dài một cách gớm ghiếc, hãy sử dụng một bộ:

accepted_strings = {'auth', 'authpriv', 'daemon'}

if facility in accepted_strings:
    do_stuff()

Trung bình kiểm tra ngăn chặn trong một bộ là O (1).

Hướng dẫn how do i compare multiple string values in python? - làm cách nào để so sánh nhiều giá trị chuỗi trong python?

Đã trả lời ngày 27 tháng 7 năm 2011 lúc 0:49Jul 27, 2011 at 0:49

Hướng dẫn how do i compare multiple string values in python? - làm cách nào để so sánh nhiều giá trị chuỗi trong python?

Pillmuncherpillmuncherpillmuncher

9,9542 Huy hiệu vàng34 Huy hiệu bạc33 Huy hiệu đồng2 gold badges34 silver badges33 bronze badges

4

Trừ khi danh sách các chuỗi của bạn dài một cách gớm ghiếc, một cái gì đó như thế này có lẽ là tốt nhất:

accepted_strings = ['auth', 'authpriv', 'daemon'] # etc etc 

if facility in accepted_strings:
    do_stuff()

Đã trả lời ngày 27 tháng 7 năm 2011 lúc 0:37Jul 27, 2011 at 0:37

4

Để kiểm tra hiệu quả nếu một chuỗi có khớp với một trong nhiều không, hãy sử dụng điều này:

allowed = set(('a', 'b', 'c'))
if foo in allowed:
    bar()

if facility == "auth" or facility == "authpriv" ...
5S được băm, các bộ sưu tập các mặt hàng không được tối ưu hóa để xác định xem một mặt hàng nhất định có ở trong đó hay không.

Đã trả lời ngày 27 tháng 7 năm 2011 lúc 0:49Jul 27, 2011 at 0:49

PillmuncherpillmuncherColin Valliant

9,9542 Huy hiệu vàng34 Huy hiệu bạc33 Huy hiệu đồng1 gold badge13 silver badges20 bronze badges

3

Các chuỗi trong Python được so sánh với các toán tử

if facility == "auth" or facility == "authpriv" ...
6 và
if facility == "auth" or facility == "authpriv" ...
7. Chúng so sánh nếu hai chuỗi python tương đương hoặc không tương đương, tương ứng. Họ trả lại
if facility == "auth" or facility == "authpriv" ...
8 hoặc
if facility == "auth" or facility == "authpriv" ...
9.


Thông thường, khi bạn làm việc với các chuỗi trong Python, bạn có thể muốn so sánh chúng với nhau. Ví dụ: bạn có thể muốn so sánh địa chỉ email của người dùng với địa chỉ bạn đã lưu trữ trong cơ sở dữ liệu khi bạn yêu cầu họ đặt lại mật khẩu của họ.

Hướng dẫn how do i compare multiple string values in python? - làm cách nào để so sánh nhiều giá trị chuỗi trong python?

Tìm Bootcamp của bạn phù hợp

  • Karma nghề nghiệp phù hợp với bạn với bootcamp công nghệ hàng đầu
  • Truy cập các học bổng và khóa học chuẩn bị độc quyền

Chọn mối quan tâm của bạn họ Tên điện thoại Email Tên của bạn
First name

Last name

Email

Phone number

Bằng cách tiếp tục, bạn đồng ý với các điều khoản dịch vụ và chính sách quyền riêng tư của chúng tôi và bạn đồng ý nhận được các ưu đãi và cơ hội từ Karma nghề nghiệp qua điện thoại, tin nhắn văn bản và email.

Python bao gồm một số toán tử so sánh có thể được sử dụng để so sánh các chuỗi. Các toán tử này cho phép bạn kiểm tra cách các chuỗi so sánh với nhau và trả về giá trị đúng hoặc sai dựa trên kết quả.

Hướng dẫn này sẽ thảo luận về các toán tử so sánh có sẵn để so sánh các chuỗi trong Python. Chúng tôi sẽ đi qua một ví dụ về từng nhà khai thác này để cho thấy cách chúng hoạt động và cách bạn có thể sử dụng chúng trong mã của mình. Nếu bạn đang tìm cách học cách so sánh các chuỗi trong Python, bài viết này là dành cho bạn.

Chuỗi python là và không bằng

Chuỗi là chuỗi các ký tự có thể bao gồm số, chữ cái, ký hiệu và khoảng trắng. Chuỗi là một loại dữ liệu quan trọng vì chúng cho phép các lập trình viên tương tác với dữ liệu dựa trên văn bản trong các chương trình của họ.

Khi bạn làm việc với một chuỗi, bạn có thể muốn xem liệu một chuỗi có hay không bằng chuỗi khác. Đó là nơi mà các toán tử so sánh chuỗi

if facility == "auth" or facility == "authpriv" ...
6 và
if facility == "auth" or facility == "authpriv" ...
7 xuất hiện.

Toán tử bình đẳng

if facility == "auth" or facility == "authpriv" ...
6 trả về true nếu hai giá trị khớp với nhau; Nếu không, người vận hành trả về sai. Toán tử
if facility == "auth" or facility == "authpriv" ...
7 trả về true nếu hai giá trị không khớp và sai nếu hai giá trị khớp.

Điều quan trọng cần lưu ý là so sánh chuỗi là nhạy cảm trường hợp. Vì vậy, các chữ cái chữ thường và chữ hoa sẽ ảnh hưởng đến kết quả của các so sánh bạn thực hiện trong chương trình Python của bạn.case sensitive. So, lowercase letters and uppercase letters will affect the result of the comparisons you perform in your Python program.

Hãy nói rằng bạn đang xây dựng một trò chơi kiểm tra người chơi về kiến ​​thức về thủ đô của họ. Để kiếm điểm, người chơi phải trả lời chính xác một câu hỏi. Vì vậy, một người chơi có thể được trao cho bang California và để đạt được điểm, họ sẽ cần phải vào rằng thủ đô là Sacramento vào chương trình.

Dưới đây, một ví dụ về ứng dụng trò chơi đoán này so sánh câu trả lời của người dùng với câu trả lời được lưu trữ bởi chương trình:

random_state = "Delaware"

message = "What is the capital of ", random_state
user_answer = input(message)

state_capital = "Dover"

if user_answer == state_capital:
	print("You are correct!")
else:
	print("The capital of ", random_state, "is", state_capital)

Ở đây, những gì xảy ra khi chúng ta chạy trò chơi đoán của mình và đoán chính xác thủ đô của Del biết là Dover:

What is the capital of Delaware
Dover
You are correct!

Các chuỗi của chúng tôi bằng nhau, vì vậy

accepted_strings = {'auth', 'authpriv', 'daemon'}

if facility in accepted_strings:
    do_stuff()
4 của chúng tôi đánh giá để sửa và in ra
accepted_strings = {'auth', 'authpriv', 'daemon'}

if facility in accepted_strings:
    do_stuff()
5. Nếu chúng ta đoán không chính xác vốn nhà nước là Denver, mã của chúng ta sẽ trả về:

What is the capital of Delaware
Denver
The capital of Delaware of Dover

Hãy để chia nhỏ mã của chúng tôi. Trong lần đầu tiên, chúng tôi tuyên bố trạng thái ngẫu nhiên của chúng tôi, trong trường hợp này là Del biết. Sau đó, chúng tôi sử dụng phương thức người dùng

accepted_strings = {'auth', 'authpriv', 'daemon'}

if facility in accepted_strings:
    do_stuff()
6 để hỏi người dùng
accepted_strings = {'auth', 'authpriv', 'daemon'}

if facility in accepted_strings:
    do_stuff()
7.

Chương trình của chúng tôi sau đó tuyên bố vốn nhà nước là Dover và sử dụng tuyên bố

accepted_strings = {'auth', 'authpriv', 'daemon'}

if facility in accepted_strings:
    do_stuff()
8 để so sánh liệu vốn nhà nước có được lưu trữ có bằng với những gì người dùng đã nhập hay không.

Khi chúng tôi nhập

accepted_strings = {'auth', 'authpriv', 'daemon'}

if facility in accepted_strings:
    do_stuff()
9, câu lệnh IF được đánh giá là TRUE, vì vậy chương trình của chúng tôi đã in tin nhắn
accepted_strings = {'auth', 'authpriv', 'daemon'}

if facility in accepted_strings:
    do_stuff()
5 lên bảng điều khiển. Khi chúng tôi nhập
accepted_strings = ['auth', 'authpriv', 'daemon'] # etc etc 

if facility in accepted_strings:
    do_stuff()
1, câu lệnh của chúng tôi đã đánh giá sai, vì vậy chương trình của chúng tôi đã thực hiện mã trong câu lệnh in
accepted_strings = ['auth', 'authpriv', 'daemon'] # etc etc 

if facility in accepted_strings:
    do_stuff()
2.

Python là nhà điều hành

Phương pháp phổ biến nhất được sử dụng để so sánh các chuỗi là sử dụng các toán tử

if facility == "auth" or facility == "authpriv" ...
6 và
if facility == "auth" or facility == "authpriv" ...
7, so sánh các biến dựa trên giá trị của chúng. Tuy nhiên, nếu bạn muốn so sánh xem hai trường hợp đối tượng có giống nhau dựa trên ID đối tượng của chúng hay không, thay vào đó bạn có thể muốn sử dụng
accepted_strings = ['auth', 'authpriv', 'daemon'] # etc etc 

if facility in accepted_strings:
    do_stuff()
5 và
accepted_strings = ['auth', 'authpriv', 'daemon'] # etc etc 

if facility in accepted_strings:
    do_stuff()
6.

Sự khác biệt giữa

if facility == "auth" or facility == "authpriv" ...
6 và
accepted_strings = ['auth', 'authpriv', 'daemon'] # etc etc 

if facility in accepted_strings:
    do_stuff()
5 (và
if facility == "auth" or facility == "authpriv" ...
7 và
accepted_strings = ['auth', 'authpriv', 'daemon'] # etc etc 

if facility in accepted_strings:
    do_stuff()
6) là toán tử so sánh
if facility == "auth" or facility == "authpriv" ...
6 so sánh hai biến dựa trên giá trị thực của chúng và từ khóa
accepted_strings = ['auth', 'authpriv', 'daemon'] # etc etc 

if facility in accepted_strings:
    do_stuff()
5 so sánh hai biến dựa trên ID đối tượng của chúng.

Hãy để sử dụng một ví dụ. Nói rằng chúng tôi có điểm của hai người dùng được lưu trữ dưới dạng chuỗi và chúng tôi muốn xem liệu chúng có giống nhau hay không. Chúng tôi có thể làm như vậy bằng cách sử dụng mã sau:

player_one_score = "100"
player_two_score = "100"

if player_one_score is player_two_score:
print("Player #1 and #2 have the same number of points.")
else:
	print("Player #1 and #2 do not have the same number of points.")

Mã của chúng tôi trả về:

Player #1 and #2 have the same number of points. 

Trong mã trên, chúng tôi cũng có thể đã sử dụng toán tử

if facility == "auth" or facility == "authpriv" ...
6. Tuy nhiên, chúng tôi đã sử dụng toán tử
accepted_strings = ['auth', 'authpriv', 'daemon'] # etc etc 

if facility in accepted_strings:
    do_stuff()
5 vì nó sử dụng hết bộ nhớ và chúng tôi chỉ cần so sánh hai đối tượng.

Tuyên bố

allowed = set(('a', 'b', 'c'))
if foo in allowed:
    bar()
5 được đánh giá là TRUE trong chương trình của chúng tôi vì cả hai biến
allowed = set(('a', 'b', 'c'))
if foo in allowed:
    bar()
6 và
allowed = set(('a', 'b', 'c'))
if foo in allowed:
    bar()
7 đều có cùng một ID đối tượng. Chúng tôi có thể kiểm tra các ID này bằng cách sử dụng từ khóa
allowed = set(('a', 'b', 'c'))
if foo in allowed:
    bar()
8:

if facility == "auth" or facility == "authpriv" ...
0

Mã của chúng tôi trả về:

if facility == "auth" or facility == "authpriv" ...
1

Trong mã trên, chúng tôi cũng có thể đã sử dụng toán tử

if facility == "auth" or facility == "authpriv" ...
6. Tuy nhiên, chúng tôi đã sử dụng toán tử
accepted_strings = ['auth', 'authpriv', 'daemon'] # etc etc 

if facility in accepted_strings:
    do_stuff()
5 vì nó sử dụng hết bộ nhớ và chúng tôi chỉ cần so sánh hai đối tượng.

Tuyên bố allowed = set(('a', 'b', 'c')) if foo in allowed: bar() 5 được đánh giá là TRUE trong chương trình của chúng tôi vì cả hai biến allowed = set(('a', 'b', 'c')) if foo in allowed: bar() 6 và allowed = set(('a', 'b', 'c')) if foo in allowed: bar() 7 đều có cùng một ID đối tượng. Chúng tôi có thể kiểm tra các ID này bằng cách sử dụng từ khóa allowed = set(('a', 'b', 'c')) if foo in allowed: bar() 8:

Như bạn có thể thấy, các đối tượng của chúng tôi giống nhau, và do đó, toán tử

accepted_strings = ['auth', 'authpriv', 'daemon'] # etc etc 

if facility in accepted_strings:
    do_stuff()
5 được đánh giá là true. Nói chung, bạn nên sử dụng
if facility == "auth" or facility == "authpriv" ...
6 khi bạn so sánh các loại dữ liệu bất biến như chuỗi và số, và khi so sánh các đối tượng.

  • Python các nhà khai thác so sánh khác
  • Ngoài ra, bạn có thể so sánh các chuỗi theo thứ tự từ vựng bằng Python. Thứ tự từ vựng đề cập đến việc đặt hàng các chữ cái dựa trên thứ tự bảng chữ cái của các chữ cái thành phần của chúng. Để làm như vậy, chúng ta có thể sử dụng các nhà khai thác so sánh khác được cung cấp bởi Python. Đây là như sau:
  • random_state = "Delaware"
    
    message = "What is the capital of ", random_state
    user_answer = input(message)
    
    state_capital = "Dover"
    
    if user_answer == state_capital:
    	print("You are correct!")
    else:
    	print("The capital of ", random_state, "is", state_capital)
    1 - ít hơn
  • random_state = "Delaware"
    
    message = "What is the capital of ", random_state
    user_answer = input(message)
    
    state_capital = "Dover"
    
    if user_answer == state_capital:
    	print("You are correct!")
    else:
    	print("The capital of ", random_state, "is", state_capital)
    2 - lớn hơn

random_state = "Delaware"

message = "What is the capital of ", random_state
user_answer = input(message)

state_capital = "Dover"

if user_answer == state_capital:
	print("You are correct!")
else:
	print("The capital of ", random_state, "is", state_capital)
3 - ít hơn hoặc bằng

random_state = "Delaware"

message = "What is the capital of ", random_state
user_answer = input(message)

state_capital = "Dover"

if user_answer == state_capital:
	print("You are correct!")
else:
	print("The capital of ", random_state, "is", state_capital)
4 - lớn hơn hoặc bằng

if facility == "auth" or facility == "authpriv" ...
2

Hãy nói rằng chúng tôi đã tạo ra một chương trình lấy hai tên sinh viên và trả lại một tin nhắn có tên đầu tiên trong bảng chữ cái.

Hướng dẫn how do i compare multiple string values in python? - làm cách nào để so sánh nhiều giá trị chuỗi trong python?

Chúng tôi có thể sử dụng mã sau để thực hiện nhiệm vụ này:

Mã của chúng tôi trả về:

if facility == "auth" or facility == "authpriv" ...
3

"Karma nghề nghiệp bước vào cuộc sống của tôi khi tôi cần nó nhất và nhanh chóng giúp tôi kết hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi tìm thấy công việc mơ ước của mình phù hợp với các giá trị và mục tiêu của tôi trong cuộc sống!"

Sao Kim, Kỹ sư phần mềm tại Rockbot

Chúng tôi cũng tạo ra một tuyên bố

random_state = "Delaware"

message = "What is the capital of ", random_state
user_answer = input(message)

state_capital = "Dover"

if user_answer == state_capital:
	print("You are correct!")
else:
	print("The capital of ", random_state, "is", state_capital)
6 sử dụng toán tử
random_state = "Delaware"

message = "What is the capital of ", random_state
user_answer = input(message)

state_capital = "Dover"

if user_answer == state_capital:
	print("You are correct!")
else:
	print("The capital of ", random_state, "is", state_capital)
7 để xác định xem tên Penny có đến trước tên Paul Paul trong bảng chữ cái hay không. Nếu điều này đánh giá đúng, một thông điệp được in vào bảng điều khiển nói với người dùng rằng Paul đến trước Penny trong bảng chữ cái.

Trong trường hợp này, tên Paul Paul xuất hiện trước Penny, trong bảng chữ cái, vì vậy mã trong khối

random_state = "Delaware"

message = "What is the capital of ", random_state
user_answer = input(message)

state_capital = "Dover"

if user_answer == state_capital:
	print("You are correct!")
else:
	print("The capital of ", random_state, "is", state_capital)
6 của chúng tôi đánh giá là đúng và thông điệp
random_state = "Delaware"

message = "What is the capital of ", random_state
user_answer = input(message)

state_capital = "Dover"

if user_answer == state_capital:
	print("You are correct!")
else:
	print("The capital of ", random_state, "is", state_capital)
9. được in vào bảng điều khiển.

Sự kết luận

So sánh hai chuỗi là một tính năng quan trọng của Python. Chẳng hạn, bạn có thể tạo một biểu mẫu đăng nhập cần so sánh mật khẩu mà người dùng đã nhập với mật khẩu họ đã đặt cho tài khoản của họ.

Các toán tử so sánh Python có thể được sử dụng để so sánh các chuỗi trong Python. Các toán tử này là: bằng (

if facility == "auth" or facility == "authpriv" ...
6), không bằng (
if facility == "auth" or facility == "authpriv" ...
7), lớn hơn (
random_state = "Delaware"

message = "What is the capital of ", random_state
user_answer = input(message)

state_capital = "Dover"

if user_answer == state_capital:
	print("You are correct!")
else:
	print("The capital of ", random_state, "is", state_capital)
2), nhỏ hơn (
random_state = "Delaware"

message = "What is the capital of ", random_state
user_answer = input(message)

state_capital = "Dover"

if user_answer == state_capital:
	print("You are correct!")
else:
	print("The capital of ", random_state, "is", state_capital)
1), nhỏ hơn hoặc bằng (
random_state = "Delaware"

message = "What is the capital of ", random_state
user_answer = input(message)

state_capital = "Dover"

if user_answer == state_capital:
	print("You are correct!")
else:
	print("The capital of ", random_state, "is", state_capital)
3) và lớn hơn hoặc bằng (
random_state = "Delaware"

message = "What is the capital of ", random_state
user_answer = input(message)

state_capital = "Dover"

if user_answer == state_capital:
	print("You are correct!")
else:
	print("The capital of ", random_state, "is", state_capital)
4). Hướng dẫn này đã khám phá cách các nhà khai thác này có thể được sử dụng để so sánh các chuỗi và đi qua một vài ví dụ về so sánh chuỗi trong Python.

Bây giờ bạn đã sẵn sàng để bắt đầu so sánh các chuỗi trong Python như một Pro!

Làm cách nào để so sánh nhiều chuỗi trong Python?

So sánh các chuỗi bằng Python..
Các toán tử == và! =. ....
So sánh các chuỗi bằng Python.
So sánh không nhạy cảm trường hợp. ....
Sử dụng một biểu thức chính quy. ....
So sánh đa dòng và danh sách ..

Làm thế nào để bạn kiểm tra xem một chuỗi có chứa nhiều giá trị trong Python không?

Sử dụng hàm tất cả () để kiểm tra xem nhiều chuỗi có tồn tại trong một chuỗi khác không, ví dụ:Nếu tất cả (chuỗi con trong my_str cho chuỗi con trong list_of_strings):.Hàm tất cả () sẽ trả về true nếu tất cả các chuỗi con tồn tại trong chuỗi và sai., e.g. if all(substring in my_str for substring in list_of_strings): . The all() function will return True if all of the substrings exist in the string and False otherwise.

Làm thế nào để bạn so sánh các giá trị chuỗi trong Python?

So sánh chuỗi Python có thể được thực hiện bằng cách sử dụng các toán tử bình đẳng (==) và so sánh (,! =, =).equality (==) and comparison (<, >, != , <=, >=) operators.

Chúng ta có thể so sánh hai chuỗi bằng cách sử dụng == trong Python không?

So sánh chuỗi bằng cách sử dụng == trong python hàm == so sánh các giá trị của hai chuỗi và trả về nếu chúng bằng hoặc không.Nếu các chuỗi bằng nhau, nó sẽ trả về đúng, nếu không nó sẽ trả về sai.The == function compares the values of two strings and returns if they are equal or not. If the strings are equal, it returns True, otherwise it returns False.