python:比较列表中的字符串

标签 python django

我有一个问题。
我有一个 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/

相关文章:

python - 在 Django 中翻译电子邮件模板

python - 与日期分开导入时间数据并且不添加日期

python - 如何将 python ElasticSearch 包与 ECS 实例角色一起使用而不是传递凭据?

python - Django 图片上传

django - 如何使用一个 bash 命令杀死所有在 gulp 中运行的服务器

django - 在 Apache 上为 Django 应用程序配置 SSL 证书 (mod_wsgi)

python - 从 youtube api(python)中的播放列表中获取标题

python - 在 python 中对参数进行操作的嵌套函数装饰器

python - Python 中的网站压力测试 - Django

python - 远程服务器上的 Django 调试工具栏