簡體   English   中英

python:比較列表中的字符串

[英]python:compare if string in list

我有個問題。
我有一個product.address這樣的“ UK some city some road”

我想比較一下這個地址,如果它是以英國或美國或AS或GE開頭的
我將保存product.dstore_id = 2 ,否則,保存product.dstore_id = 1

我的代碼是這樣的:

area = [UK,US,AS,GE]
for i in area:
    if i in product.address:
        product.dstore_id = 2
    else:
        product.dstore_id = 1

但是我發現這有一個大問題,它將比較所有的i並保存錯誤的數字
所以我該怎么做才能達到目標。 請指導我一點謝謝

您可以使用any 如果product.address中存在area列表中的任何項目,則將返回True 然后,您不再需要for循環。

if any(address.startswith(i) for i in area):
    product.dstore_id = 2
else:
    product.dstore_id = 1

例如

area = ['UK','US','AS','GE']
address =  'UK some city some road'
>>> any(addres.startswith(i) for i in area)
True

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM