【发布时间】:2021-01-26 17:18:46
【问题描述】:
需要分离输入数据,如果它在字典中存在/不存在:
输入文件:
1,aaaaaaaa3nawwqfzplgms3u4n7kobqq344sqkn3e75zpsek7kxgaskwsba
2,aaaaaaaa3nawwqfzplgms3u4n7kobqq344sqkn3e75zpsek7kxgaskwsba
3,aaaaaaaangdg77mg3cxnialazk7whbtdidftz3rv2bhqrxcvymaecagxdq
4,aaaaaaaa3nawwqfzplgms3u4n7kobqq344sqkn3e75zpsek7kxgaskwsba
5,aaaaaaaa3nawwqfzplgms3u4n7kobqq344sqkn3e75zpsek7kxgaskwsba
6,aaaaaatbmbxncexycbtsyrnhexniqr7g4vypfuksh5ezmzymuw7k2bw4sa
7,aaaaaatbmbxncexycbtsyrnhexniqr7g4vypfuksh5ezmzymuw7k2bw4sa
根据 mapping_hash 从上述文件中分离数据的脚本
# Check if the col[2] in the file is part of this dictionary
mapping_hash = {"ad1": "aaaaaaaangdg77mg3cxnialazk7whbtdidftz3rv2bhqrxcvymaecagxdq",
"ad2":"aaaaaaaa3nawwqfzplgms3u4n7kobqq344sqkn3e75zpsek7kxgaskwsba"}
absnt_dict= {}
Present_dict = {}
# Read the file
with open('so_input') as f:
for row in f:
row=row.strip().split(',')
row_number = row[0]
hash =row[1]
print("--------------")
for key, value in mapping_hash.items():
#check if file value is part of mapping_hash dictionary
if hash == value:
print "Yes"
Present_dict[row_number] = mapping_hash.keys()
else:
print "Na"
absnt_dict[row_number] = hash
print Present_dict
print absnt_dict
输出:
--------------
Yes
Na
--------------
Yes
Na
--------------
Na
Yes
--------------
Yes
Na
--------------
Yes
Na
--------------
Na
Na
--------------
Na
Na
Row part of Hash:
{'1': ['ad2', 'ad1'], '3': ['ad2', 'ad1'], '2': ['ad2', 'ad1'], '5': ['ad2', 'ad1'], '4': ['ad2', 'ad1']}
Row not part of Hash:
{'1': 'aaaaaaaa3nawwqfzplgms3u4n7kobqq344sqkn3e75zpsek7kxgaskwsba', '3': 'aaaaaaaangdg77mg3cxnialazk7whbtdidftz3rv2bhqrxcvymaecagxdq', '2': 'aaaaaaaa3nawwqfzplgms3u4n7kobqq344sqkn3e75zpsek7kxgaskwsba', '5': 'aaaaaaaa3nawwqfzplgms3u4n7kobqq344sqkn3e75zpsek7kxgaskwsba', '4': 'aaaaaaaa3nawwqfzplgms3u4n7kobqq344sqkn3e75zpsek7kxgaskwsba', '7': 'aaaaaatbmbxncexycbtsyrnhexniqr7g4vypfuksh5ezmzymuw7k2bw4sa', '6': 'aaaaaatbmbxncexycbtsyrnhexniqr7g4vypfuksh5ezmzymuw7k2bw4sa'}
在这里,根据字典中元素的数量,循环将迭代并创建一个重复的条目!
- 我希望 6 和 7 应该是 absnt_dict 的一部分,其余的都是 Present_dict 的一部分
- 1 的输出应该是
ad2不像列出两个值'1': ['ad2', 'ad1']
【问题讨论】:
标签: python python-3.x python-2.7 dictionary data-structures