我有一个问题。
我有一个 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
并保存错误的数字
那么我该怎么做才能达到它。请指导我一点谢谢
最佳答案
您可以使用任何
。如果 area
列表中的任何项目出现在 product.address
中,这将返回 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
关于python:比较列表中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26339609/