gpt4 book ai didi

python - 如何在所有 Dictionary.Values() 中搜索字符串中的所有字符

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:19 26 4
gpt4 key购买 nike

首先,我知道下面列出了很多类似的帖子,但是,据我所知,没有人回答我面临的问题,因为我发现的所有内容都在询问如何搜索字符串在 'dict.values()' 中,而不是搜索字符串中的每个字符并检查它是否在 'dict.values()' 中,以及是否在字符串中找到出现在 'dict' 字符中的任何字符.values()' 它将返回哪个和多少。

指向未回答问题但可能对某些人有用的类似帖子的链接:

How to search if dictionary value contains certain string with Python

Find dictionary items whose key matches a substring

How can I check if the characters in a string are in a dictionary of values?

How to search if dictionary value contains certain string with Python

这是我目前所拥有的,但似乎根本不起作用......

characters = {'small':'abcdefghijklmnopqrstuvwxyz',
'big':'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'nums':'0123456789',
'special':"!#$%&()*+,-./:;<=>?@[\]^_{|}~",}

password = 'aAb'

def count(pass_word,char_set):

num_of_char = 0
char_list = []

for char in pass_word:
if i in char_set.values():
num_of_char +=1
char_list += i

return char_list, num_of_char


#Print result

print(count(password,characters))

输出应该类似于:

'a','A','b'
3

希望您明白我的意思,如果有任何不清楚的地方,请发表评论,以便我改进。

最佳答案

def count(password, char_dict):
sanitized_pass = [char for char in password if any(char in v for v in char_dict.values())]
return sanitized_pass, len(sanitized_pass)

这是一种方法。另一种方法是构建所有可接受的 c 的 set字符并使用密码将其传递给函数

from itertools import chain


char_set = set(chain.from_iterable(characters.values()))

def count(password, chars):
sanitized_pass = [char for char in password if char in char_set]
return sanitized_pass, len(sanitized_pass)

关于python - 如何在所有 Dictionary.Values() 中搜索字符串中的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47359801/

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