转换为集合理解
Convert to set Comprehension
我是 Python 的新手,我正在尝试将其中包含 if else 语句的循环转换为理解,但似乎无法破解它...
希望大家能帮帮我?
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in list(Dict.keys()):
if key in list(Boys.keys()):
print(True)
else:
print(False)
我试过以下...
a = {key for key in list(Dict.keys()) if key in list(Boys.keys())}
b = {key if key in list(Boys.keys()) else False for key in list(Dict.keys())}
c = {key in list(Boys.keys()) if key else False for key in list(Dict.keys())}
print(c)
你想要的可以简化:
c = [key in Boys for key in Dict]
print(c)
输出:
[True, True, False, True]
这表明前两个和最后一个是男孩的名字。
此外,您不需要 set()
,因为集合仅包含唯一值。当值为 True
和 False
时,一个集合只能包含 0、1 或 2 个值。
a = [ True if key in Boys else False for key in Dict ]
应该可以解决问题,您只需要更改顺序即可。
输出:
[True, True, False, True]
您需要做两件事才能完成,
1.更改顺序并删除不必要的 list() 和 keys()
2。使用列表理解而不是字典理解
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
a = [True if key in Boys.keys else False for key in Dict]
print(a)
我是 Python 的新手,我正在尝试将其中包含 if else 语句的循环转换为理解,但似乎无法破解它...
希望大家能帮帮我?
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in list(Dict.keys()):
if key in list(Boys.keys()):
print(True)
else:
print(False)
我试过以下...
a = {key for key in list(Dict.keys()) if key in list(Boys.keys())}
b = {key if key in list(Boys.keys()) else False for key in list(Dict.keys())}
c = {key in list(Boys.keys()) if key else False for key in list(Dict.keys())}
print(c)
你想要的可以简化:
c = [key in Boys for key in Dict]
print(c)
输出:
[True, True, False, True]
这表明前两个和最后一个是男孩的名字。
此外,您不需要 set()
,因为集合仅包含唯一值。当值为 True
和 False
时,一个集合只能包含 0、1 或 2 个值。
a = [ True if key in Boys else False for key in Dict ]
应该可以解决问题,您只需要更改顺序即可。
输出:
[True, True, False, True]
您需要做两件事才能完成,
1.更改顺序并删除不必要的 list() 和 keys()
2。使用列表理解而不是字典理解
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
a = [True if key in Boys.keys else False for key in Dict]
print(a)