Hướng dẫn python check if item in list contains string - python kiểm tra xem mục trong danh sách có chứa chuỗi không

801

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Làm cách nào để tìm kiếm các mục chứa chuỗi

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...
5 trong danh sách sau?

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

Các kiểm tra sau đây nếu

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...
5 có trong danh sách, nhưng không phát hiện
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...
7 và
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...
8:

if 'abc' in xs:

hỏi ngày 30 tháng 1 năm 2011 lúc 13:29Jan 30, 2011 at 13:29

3

Để kiểm tra sự hiện diện của

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...
5 trong bất kỳ chuỗi nào trong danh sách:

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...

Để có được tất cả các mục chứa

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...
5:

matching = [s for s in xs if "abc" in s]

Mateen Ulhaq

22.3K16 Huy hiệu vàng86 Huy hiệu bạc127 Huy hiệu đồng16 gold badges86 silver badges127 bronze badges

Đã trả lời ngày 30 tháng 1 năm 2011 lúc 13:32Jan 30, 2011 at 13:32

Sven Marnachsven MarnachSven Marnach

547K114 Huy hiệu vàng917 Huy hiệu bạc818 Huy hiệu đồng114 gold badges917 silver badges818 bronze badges

19

Chỉ cần ném nó ra khỏi đó: Nếu bạn tình cờ phải khớp với nhiều chuỗi, ví dụ:

matching = [s for s in xs if "abc" in s]
1 và
matching = [s for s in xs if "abc" in s]
2, bạn có thể kết hợp hai lần hiểu như sau:

matchers = ['abc','def']
matching = [s for s in my_list if any[xs in s for xs in matchers]]

Output:

['abc-123', 'def-456', 'abc-456']

Đã trả lời ngày 3 tháng 8 năm 2014 lúc 6:00Aug 3, 2014 at 6:00

Fantabolousfantabolousfantabolous

Phim thương hiệu vàng 19,9k66 gold badges52 silver badges48 bronze badges

3

Sử dụng

matching = [s for s in xs if "abc" in s]
3 để có được tất cả các yếu tố có
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...
5:

>>> xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
>>> list[filter[lambda x: 'abc' in x, xs]]
['abc-123', 'abc-456']

Người ta cũng có thể sử dụng danh sách hiểu biết:

>>> [x for x in xs if 'abc' in x]

Mateen Ulhaq

22.3K16 Huy hiệu vàng86 Huy hiệu bạc127 Huy hiệu đồng16 gold badges86 silver badges127 bronze badges

Đã trả lời ngày 30 tháng 1 năm 2011 lúc 13:32Jan 30, 2011 at 13:34

Sven Marnachsven MarnachMAK

547K114 Huy hiệu vàng917 Huy hiệu bạc818 Huy hiệu đồng10 gold badges53 silver badges85 bronze badges

Chỉ cần ném nó ra khỏi đó: Nếu bạn tình cờ phải khớp với nhiều chuỗi, ví dụ:

matching = [s for s in xs if "abc" in s]
1 và
matching = [s for s in xs if "abc" in s]
2, bạn có thể kết hợp hai lần hiểu như sau:

if 'abc' in str[my_list]:

Đã trả lời ngày 3 tháng 8 năm 2014 lúc 6:00

FantabolousfantabolousApr 13, 2016 at 8:19

Phim thương hiệu vàng 19,9k6RogerS

Sử dụng

matching = [s for s in xs if "abc" in s]
3 để có được tất cả các yếu tố có
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...
5:9 silver badges11 bronze badges

12

Người ta cũng có thể sử dụng danh sách hiểu biết:

Đã trả lời ngày 30 tháng 1 năm 2011 lúc 13:34

[el for el in lst if isinstance[el, collections.Iterable] and [st in el]]

Makmak

if 'abc' in xs:
0

25.6K10 Huy hiệu vàng53 Huy hiệu bạc85 Huy hiệu Đồng

Nếu bạn chỉ cần biết nếu 'ABC' có ở một trong các mục hay không, thì đây là cách ngắn nhất:

Lưu ý: Điều này giả định 'ABC' là một văn bản chữ và số. Không sử dụng nó nếu 'ABC' có thể chỉ là một nhân vật đặc biệt [tức là [] ',].Oct 20, 2011 at 13:24

Đã trả lời ngày 13 tháng 4 năm 2016 lúc 8:19Robert Muil

Rogersrogers1 gold badge24 silver badges30 bronze badges

4

if 'abc' in xs:
1

1.2159 huy hiệu bạc11 huy hiệu đồng

Đây là một câu hỏi khá cũ, nhưng tôi đưa ra câu trả lời này bởi vì các câu trả lời trước đó không đối phó với các mục trong danh sách không phải là chuỗi [hoặc một số loại đối tượng có thể lặp lại]. Các mục như vậy sẽ khiến toàn bộ danh sách hiểu được thất bại với một ngoại lệ.29 gold badges227 silver badges228 bronze badges

Để giải quyết một cách duyên dáng với các mục như vậy trong danh sách bằng cách bỏ qua các mục không có thiết kế, hãy sử dụng các mục sau:Jan 30, 2011 at 13:31

Sau đó, với một danh sách như vậy:Mariy

Bạn vẫn sẽ nhận được các mục phù hợp [

matching = [s for s in xs if "abc" in s]
5]3 gold badges40 silver badges57 bronze badges

0

if 'abc' in xs:
2

1.2159 huy hiệu bạc11 huy hiệu đồng

Đây là một câu hỏi khá cũ, nhưng tôi đưa ra câu trả lời này bởi vì các câu trả lời trước đó không đối phó với các mục trong danh sách không phải là chuỗi [hoặc một số loại đối tượng có thể lặp lại]. Các mục như vậy sẽ khiến toàn bộ danh sách hiểu được thất bại với một ngoại lệ.29 gold badges227 silver badges228 bronze badges

Để giải quyết một cách duyên dáng với các mục như vậy trong danh sách bằng cách bỏ qua các mục không có thiết kế, hãy sử dụng các mục sau:Jan 30, 2011 at 13:38

Sau đó, với một danh sách như vậy:Rubycon

Bạn vẫn sẽ nhận được các mục phù hợp [

matching = [s for s in xs if "abc" in s]
5]10 gold badges45 silver badges69 bronze badges

1

if 'abc' in xs:
3

Đã trả lời ngày 30 tháng 1 năm 2011 lúc 13:32Jan 30, 2011 at 13:34

Sven Marnachsven MarnachImran

547K114 Huy hiệu vàng917 Huy hiệu bạc818 Huy hiệu đồng23 gold badges96 silver badges128 bronze badges

Chỉ cần ném nó ra khỏi đó: Nếu bạn tình cờ phải khớp với nhiều chuỗi, ví dụ:

matching = [s for s in xs if "abc" in s]
1 và
matching = [s for s in xs if "abc" in s]
2, bạn có thể kết hợp hai lần hiểu như sau:

if 'abc' in xs:
4

Đã trả lời ngày 3 tháng 8 năm 2014 lúc 6:00Apr 7, 2018 at 7:52

FantabolousfantabolousAmol Manthalkar

Phim thương hiệu vàng 19,9k61 gold badge15 silver badges16 bronze badges

0

Sử dụng

matching = [s for s in xs if "abc" in s]
3 để có được tất cả các yếu tố có
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...
5:

if 'abc' in xs:
5

Người ta cũng có thể sử dụng danh sách hiểu biết:

Đã trả lời ngày 30 tháng 1 năm 2011 lúc 13:346 gold badges24 silver badges35 bronze badges

MakmakFeb 8, 2019 at 16:37

25.6K10 Huy hiệu vàng53 Huy hiệu bạc85 Huy hiệu ĐồngHarsh Lodhi

Nếu bạn chỉ cần biết nếu 'ABC' có ở một trong các mục hay không, thì đây là cách ngắn nhất:4 silver badges10 bronze badges

Lưu ý: Điều này giả định 'ABC' là một văn bản chữ và số. Không sử dụng nó nếu 'ABC' có thể chỉ là một nhân vật đặc biệt [tức là [] ',].

Đã trả lời ngày 13 tháng 4 năm 2016 lúc 8:19

if 'abc' in xs:
6

RogersrogersJul 14, 2020 at 2:43

1.2159 huy hiệu bạc11 huy hiệu đồnglist indices that correspond to a match as follows:

if 'abc' in xs:
7

Đây là một câu hỏi khá cũ, nhưng tôi đưa ra câu trả lời này bởi vì các câu trả lời trước đó không đối phó với các mục trong danh sách không phải là chuỗi [hoặc một số loại đối tượng có thể lặp lại]. Các mục như vậy sẽ khiến toàn bộ danh sách hiểu được thất bại với một ngoại lệ.

if 'abc' in xs:
8

Để giải quyết một cách duyên dáng với các mục như vậy trong danh sách bằng cách bỏ qua các mục không có thiết kế, hãy sử dụng các mục sau:Jan 5, 2020 at 19:02

Sau đó, với một danh sách như vậy:Grant Shannon

Bạn vẫn sẽ nhận được các mục phù hợp [

matching = [s for s in xs if "abc" in s]
5]1 gold badge41 silver badges34 bronze badges

if 'abc' in xs:
9

Bài kiểm tra cho ITBER có thể không phải là tốt nhất. Có nó từ đây: Trong Python, làm thế nào để tôi xác định xem một đối tượng có phải không?

Đã trả lời ngày 20 tháng 10 năm 2011 lúc 13:249 gold badges32 silver badges40 bronze badges

Robert Muilrobert MuilJul 4, 2018 at 13:32

3

2.8881 Huy hiệu vàng24 Huy hiệu bạc 30 Huy hiệu Đồng

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...
0

JamylakFeb 18, 2021 at 2:38

124K29 Huy hiệu vàng227 Huy hiệu bạc228 Huy hiệu ĐồngSam S.

Đã trả lời ngày 30 tháng 1 năm 2011 lúc 13:316 silver badges21 bronze badges

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...
1

JariymariyMar 16, 2018 at 9:14

5.4863 Huy hiệu vàng40 Huy hiệu bạc57 Huy hiệu đồng

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...
2

Đã trả lời ngày 30 tháng 1 năm 2011 lúc 13:38

RubyConrubyConJan 26, 2019 at 2:44

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...
3

4b0

Phim thương hiệu vàng 18K1045 Huy hiệu bạc69 Huy hiệu đồng30 gold badges93 silver badges137 bronze badges

ImranimranJul 18, 2019 at 8:22

84K23 Huy hiệu vàng96 Huy hiệu bạc128 Huy hiệu đồng

xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']

if any["abc" in s for s in xs]:
    ...
4

Tôi mới đến Python. Tôi đã nhận được mã bên dưới làm việc và làm cho nó dễ hiểu:

Đã trả lời ngày 7 tháng 4 năm 2018 lúc 7:5218 gold badges18 silver badges36 bronze badges

Amol Manthalkaramol ManthalkarJun 16, 2018 at 10:52

Làm thế nào để bạn kiểm tra xem một mục trong danh sách có phải là python chuỗi không?

Python Tìm chuỗi trong danh sách bằng cách sử dụng Count [], chúng ta cũng có thể sử dụng hàm Count [] để có được số lần xuất hiện của một chuỗi trong danh sách.Nếu đầu ra của nó là 0, thì điều đó có nghĩa là chuỗi không có trong danh sách.count[] We can also use count[] function to get the number of occurrences of a string in the list. If its output is 0, then it means that string is not present in the list.

Làm cách nào để kiểm tra xem danh sách có chứa một chuỗi không?

Sử dụng hàm tất cả [] để kiểm tra xem danh sách chỉ chứa chuỗi, ví dụ:Nếu tất cả [isInstance [mục, str] cho mục trong my_list]:.Hàm tất cả [] sẽ trả về true nếu danh sách chỉ chứa các chuỗi và sai nếu không.Đã sao chép!, e.g. if all[isinstance[item, str] for item in my_list]: . The all[] function will return True if the list contains only strings and False otherwise. Copied!

Làm thế nào để bạn kiểm tra một chuỗi cho một ký tự từ một danh sách trong Python?

Python Cách kiểm tra xem Chuỗi có chứa các ký tự từ danh sách không..
chars = ["h", "e", "y"] word = "hello" has_all = all [[char in word for char in chars]] ....
chars = ["h", "e", "y"] word = "hello" has_all = all [[char in word for char in chars]] ....
def has_all [chars, chuỗi]: trả về tất cả [[char trong chuỗi cho char trong chars]].

Bài Viết Liên Quan

Chủ Đề