In [1]:
d = {'key1': 'aaa', 'key2': 'aaa', 'key3': 'bbb'}
In [2]:
value = d['key1']
print(value)
In [3]:
keys = [k for k, v in d.items() if v == 'aaa']
print(keys)
In [4]:
keys = [k for k, v in d.items() if v == 'bbb']
print(keys)
In [5]:
keys = [k for k, v in d.items() if v == 'xxx']
print(keys)
In [6]:
key = [k for k, v in d.items() if v == 'aaa'][0]
print(key)
In [7]:
key = [k for k, v in d.items() if v == 'bbb'][0]
print(key)
In [8]:
# key = [k for k, v in d.items() if v == 'xxx'][0]
# print(key)
# IndexError: list index out of range
In [9]:
def get_keys_from_value(d, val):
return [k for k, v in d.items() if v == val]
In [10]:
keys = get_keys_from_value(d, 'aaa')
print(keys)
In [11]:
def get_key_from_value(d, val):
keys = [k for k, v in d.items() if v == val]
if keys:
return keys[0]
return None
In [12]:
key = get_key_from_value(d, 'aaa')
print(key)
In [13]:
key = get_key_from_value(d, 'bbb')
print(key)
In [14]:
key = get_key_from_value(d, 'xxx')
print(key)
In [15]:
d_num = {'key1': 1, 'key2': 2, 'key3': 3}
In [16]:
keys = [k for k, v in d_num.items() if v >= 2]
print(keys)
In [17]:
keys = [k for k, v in d_num.items() if v % 2 == 1]
print(keys)
In [18]:
d_str = {'key1': 'aaa@xxx.com', 'key2': 'bbb@yyy.net', 'key3': 'ccc@zzz.com'}
In [19]:
keys = [k for k, v in d_str.items() if v.endswith('com')]
print(keys)