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的值