Python - 如果 StringSet 中有一个 String
Python - if StringSet has a String in it
我搜索得相当彻底,没有找到 suitable 解决方案。我是 Python/Programming 的新手,所以非常感谢能得到的任何建议:
我正在尝试从 StringSet 中搜索字符串,这就是我正在尝试执行的操作,但未获得值。
string_set = {'"123", "456", "789"'}
value = '123'
values_list = []
def fun():
for i in string_set:
if i in value:
output=LookupTables.get('dynamo-table', i, {})
return output
fun()
使用上面的方法,如果它的值在字符串集中,那么它将 return 我的 dynmodb table 中的值。
Nothe:我的 table 中可能有超过 5000 个值,所以我想尽早 return.
也许你应该先删除多余的''
string_set = {'"123", "456", "789"'} # this set has just one value '"123", "456", "789"'
string_set_fixed = {"123", "456", "789"}
试试这个:
string_set = {"123", "456", "789"}
value = '123'
values_list = []
def fun():
if value in string_set:
output = LookupTables.get('dynamo-table', value, {})
return output
fun()
解释:
- 您对
string_set
的定义包含一对无关的 ' '
;
- 当您测试
i in value
时,您是在将 i
与 value
的所有子字符串进行比较,而不是与整个字符串进行比较。
我假设您只是检查 123 是否在 "123", "456", "789"
中,因为您将它用单引号括起来了:
表示让我们使用:
strset = {"123", "456", "789"}
如果你必须使用那个奇怪的变量怎么办?
这应该使它可用
strset = {'"123", "456", "789"'}
removed = next(iter(strset))
strset.update((removed).split())
strset.remove(removed)
strset = set([i.strip(",").strip('"') for i in strset])
另一种更简洁的方式:
strset = {'"123", "456", "789"'}
exec(f"strset = {next(iter(strset))}")
print("123" in strset)
现在检查 value
是否在里面:
if value in strset:
#do code here
我搜索得相当彻底,没有找到 suitable 解决方案。我是 Python/Programming 的新手,所以非常感谢能得到的任何建议:
我正在尝试从 StringSet 中搜索字符串,这就是我正在尝试执行的操作,但未获得值。
string_set = {'"123", "456", "789"'}
value = '123'
values_list = []
def fun():
for i in string_set:
if i in value:
output=LookupTables.get('dynamo-table', i, {})
return output
fun()
使用上面的方法,如果它的值在字符串集中,那么它将 return 我的 dynmodb table 中的值。 Nothe:我的 table 中可能有超过 5000 个值,所以我想尽早 return.
也许你应该先删除多余的''
string_set = {'"123", "456", "789"'} # this set has just one value '"123", "456", "789"'
string_set_fixed = {"123", "456", "789"}
试试这个:
string_set = {"123", "456", "789"}
value = '123'
values_list = []
def fun():
if value in string_set:
output = LookupTables.get('dynamo-table', value, {})
return output
fun()
解释:
- 您对
string_set
的定义包含一对无关的' '
; - 当您测试
i in value
时,您是在将i
与value
的所有子字符串进行比较,而不是与整个字符串进行比较。
我假设您只是检查 123 是否在 "123", "456", "789"
中,因为您将它用单引号括起来了:
表示让我们使用:
strset = {"123", "456", "789"}
如果你必须使用那个奇怪的变量怎么办?
这应该使它可用
strset = {'"123", "456", "789"'}
removed = next(iter(strset))
strset.update((removed).split())
strset.remove(removed)
strset = set([i.strip(",").strip('"') for i in strset])
另一种更简洁的方式:
strset = {'"123", "456", "789"'}
exec(f"strset = {next(iter(strset))}")
print("123" in strset)
现在检查 value
是否在里面:
if value in strset:
#do code here