Python 我想将字符串转换为列表

Python 我想将字符串转换为列表,python,Python,我给出的字符串类似于d='direct' 预期o/p=为direct找到匹配项 但我发现d的匹配项没有找到 未找到i的匹配项,未找到r的匹配项等。 现在我使用的是一个代码: dict1={'d': 'direct', 't': '2', 'g': ['D','D']} dict2={'d': 'direct', 'u': ['2', '2'], 't': ['2', '2'], 'g': ['D', 'D']} for key in dict1: for index, elemen

我给出的字符串类似于
d='direct'

预期o/p=为direct找到匹配项
但我发现d的匹配项没有找到
未找到i的匹配项,未找到r的匹配项等。 现在我使用的是一个代码:

dict1={'d': 'direct', 't': '2',  'g': ['D','D']}
dict2={'d': 'direct', 'u': ['2', '2'], 't': ['2', '2'],  'g': ['D', 'D']}

for key in dict1:
    for index, element in enumerate(dict1[key]):
        if element in dict2[key]:
            print("Match found for", element)
        else:
            print("Match not found for", element)

dict1[key]
返回
“direct”
。尝试:

for i in 'direct':
   print(i)
您会发现它打印: D 我 R

这就是您的代码所做的:

match not found for d
match not found for i
match not found for r etc
对字符串进行迭代可以得到单个字符

dict1
更改为

dict1={'d': ['direct'], ...}
至少能让你通过第一把钥匙。假设,也就是说,您希望在第二个字典中测试“direct”。在
dict2
中进行相同的更改。换句话说,要小心把字符串和列表弄混。有时字符串的行为类似于列表

另请查看列表('direct'),或列表('direct')中的i的
:…
。这可能不是您想要的字符串到列表的转换,但有时它很有用。

试试下面的代码

dict1={'d': 'direct', 't': '2',  'g': ['D','D']}
dict2={'d': 'direct', 'u': ['2', '2'], 't': ['2', '2'],  'g': ['D', 'D']}

for key1 in dict1:
   for key2 in dict2:
        if key1 in key2:
            print dict1[key1]

您正在迭代dict1,它比较各个字符

这是你想要的吗

dict1={'d': 'direct', 't': '2',  'g': ['D','D']}
dict2={'d': 'direct', 'u': ['2', '2'], 't': ['2', '2'],  'g': ['D', 'D']}

#for key in dict1:
    #print key

for key in dict1:
    for index, element in enumerate(dict1[key]):
        #print key, index, element
        if element in dict2:
            print("Element {0} found".format(element))
        else:
            print("Element {0} not found".format(element))
找到元素d 我找不到元素 找不到元素r 未找到元素e 找不到元素c 未找到元素 未找到元素D 未找到元素D
元素2未找到

?你能说清楚一点吗?Dict有两个东西,键和值,你想把一个Dict的值和另一个Dict的值进行比较吗?或键?一个dict的值与另一个dict的值