python - Locating the dictionary within a list when inputting a specific value -
let have few clusters represented dictionaries below:
cluster1 = {'disks' : [0,1,2,3,12] , 'left': true , 'right': false} cluster2 = {'disks' : [3,4,5,2] , 'left':true ,'right': false } cluster3 = {'disks' : [6,7,8,2] , 'left':false ,'right': false } cluster4 = {'disks' : [10,11,12] , 'left':true, 'right':true } listofclusters = [cluster1,cluster2,cluster3,cluster4]
then make list of clusters above store them....
if want search list particular disk , tell me clusters within list have disks how that?
according requirement:
to search list particular disk , tell me clusters within list have disks
use following approach form dict cluster_numbers
key disk number , value list of cluster names(cluster order numbers)
let's find cluster names(numbers) have 1 or more disk numbers following list [2, 10, 7]
search_disks = [2, 10, 7] cluster_numbers = {d:[] d in search_disks} d in cluster_numbers.keys(): k, c in enumerate(listofclusters): if d in c['disks']: cluster_numbers[d].extend(['cluster' + str(k+1)]) print(cluster_numbers)
the output:
{2: ['cluster1', 'cluster2', 'cluster3'], 10: ['cluster4'], 7: ['cluster3']}
Comments
Post a Comment