gpt4 book ai didi

Python:识别长度为 1 的字符串列表与字符串

转载 作者:行者123 更新时间:2023-11-28 19:50:58 25 4
gpt4 key购买 nike

在我的代码中有以下内容:

if all(requiredField in submittedFields for requiredField in requiredFields):
# all required fields in submittedFields exist
else:
# error handling

目标是检查 requiredFields 中的字符串列表是否都存在于 submittedFields

requiredFields 是长度 > 1 的字符串列表时,这很好用。但是,当你有类似

的内容时
requiredFields = ('single element')

然后 for 循环遍历每个字符而不是字符串本身。

所以我的问题是,除了

try: 
requiredFields.sort()
# requiredFields is a list of strings
except AttributeError:
# requiredFields is a string list whose length == 1

最佳答案

使用 python 集会更有效率:

submitted_fields = set(['length', 'width', 'color', 'single element'])
required_fields = set(['width', 'length'])
if submitted_fields >= required_fields:
# all required fields in submittedFields exist
else:
# error handling

一些优化使这个速度更快:

  • 集合的哈希表实现确保了在逐个字符进行相等性测试之前匹配的可能性很高。
  • 如果两个字符串相同(内存中的同一个对象),身份检查将绕过逐个字符的相等性检查。

注意。看起来你原来的问题是元组表示法。 Steven Rumbalski 很好地解决了这个问题。当然,如果您使用集合,这就不是问题了。

祝您现场验证顺利:-)

关于Python:识别长度为 1 的字符串列表与字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8248163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com