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.6K16 Huy hiệu vàng87 Huy hiệu bạc128 Huy hiệu đồng16 gold badges87 silver badges128 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
549K114 Huy hiệu vàng920 Huy hiệu bạc822 Huy hiệu Đồng114 gold badges920 silver badges822 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
20.1k6 Huy hiệu vàng52 Huy hiệu bạc48 Huy hiệu đồng6 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.6K16 Huy hiệu vàng87 Huy hiệu bạc128 Huy hiệu đồng16 gold badges87 silver badges128 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
549K114 Huy hiệu vàng920 Huy hiệu bạc822 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
20.1k6 Huy hiệu vàng52 Huy hiệu bạc48 Huy hiệu đồngRogerS
Sử dụng
3 để có được tất cả các yếu tố có matching = [s for s in xs if "abc" in s]
5:9 silver badges11 bronze badgesxs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
if any["abc" in s for s in xs]:
...
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:
025.7K10 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.2449 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 badges229 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 [
5]4 gold
badges40 silver badges57 bronze badgesmatching = [s for s in xs if "abc" in s]
0
if 'abc' in xs:
2
1.2449 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 badges229 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 [
5]10 gold badges46 silver badges70 bronze badgesmatching = [s for s in xs if "abc" in s]
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
549K114 Huy hiệu vàng920 Huy hiệu bạc822 Huy hiệu Đồng23 gold badges96 silver badges129 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
20.1k6 Huy hiệu vàng52 Huy hiệu bạc48 Huy hiệu đồng1 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.7K10 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à [] ',].list indices that correspond to a match as follows:
Đã trả lời ngày 13 tháng 4 năm 2016 lúc 8:19Rogersrogers
if 'abc' in xs:
71.2449 huy hiệu bạc11 huy hiệu đồngJan 5, 2020 at 19:02
Đâ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ệ.Grant Shannon
Để 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:1 gold badge43 silver badges35 bronze badges
Sau đó, với một danh sách như vậy:
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]if 'abc' in xs:
8Bà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?Jul 14, 2020 at 2:43
if 'abc' in xs:
9
Đã trả lời ngày 20 tháng 10 năm 2011 lúc 13:24
Robert Muilrobert Muil9 gold badges32 silver badges41 bronze badges
2.8981 Huy hiệu vàng24 Huy hiệu bạc 30 Huy hiệu ĐồngJul 4, 2018 at 13:32
3
Jamylak
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
if any["abc" in s for s in xs]:
...
0125K29 Huy hiệu vàng227 Huy hiệu bạc229 Huy hiệu ĐồngFeb 18, 2021 at 2:38
Đã trả lời ngày 30 tháng 1 năm 2011 lúc 13:31Sam S.
Jariymariy6 silver badges22 bronze badges
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
if any["abc" in s for s in xs]:
...
15.5364 Huy hiệu vàng40 Huy hiệu bạc57 Huy hiệu đồngMar 16, 2018 at 9:14
Đã trả lời ngày 30 tháng 1 năm 2011 lúc 13:38
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
if any["abc" in s for s in xs]:
...
2RubyConrubyCon
Phim thương hiệu vàng 18K1046 Huy hiệu bạc70 Huy hiệu đồngJan 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
Imranimran30 gold badges94 silver badges138 bronze badges
84.3K23 Huy hiệu vàng96 Huy hiệu bạc129 Huy hiệu đồngJul 18, 2019 at 8:22
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:
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
if any["abc" in s for s in xs]:
...
4
Đã trả lời ngày 7 tháng 4 năm 2018 lúc 7:52
Amol Manthalkaramol Manthalkar18 gold badges20 silver badges37 bronze badges
1.7501 Huy hiệu vàng15 Huy hiệu bạc16 Huy hiệu đồngJun 16, 2018 at 10:52