Som*_*ens 181 python arrays contains
如果我有一个字符串数组,我可以检查一个字符串是否在数组中而不进行for循环?具体来说,我正在寻找一种方法在一个if语句中这样做,所以像这样:
if [check that item is in array]:
Run Code Online (Sandbox Code Playgroud)
Sve*_*ach 360
假设你的意思是"列表",你说"阵列",你可以这样做
if item in my_list:
# whatever
Run Code Online (Sandbox Code Playgroud)
这适用于任何集合,而不仅仅适用于列表.对于字典,它会检查字典中是否存在给定的键.
Mic*_*man 16
当你说"数组"时,我也会认为你的意思是"列表".Sven Marnach的解决方案很好.如果您要对列表进行重复检查,则可能需要将其转换为set或frozenset,这对于每个检查都可以更快.假设您的strs列表被调用subjects:
subject_set = frozenset(subjects)
if query in subject_set:
# whatever
Run Code Online (Sandbox Code Playgroud)
使用 lambda 函数。
假设您有一个数组:
nums = [0,1,5]
Run Code Online (Sandbox Code Playgroud)
检查 5 是否nums在Python 3.X 中:
(len(list(filter (lambda x : x == 5, nums))) > 0)
Run Code Online (Sandbox Code Playgroud)
检查 5 是否nums在Python 2.7 中:
(len(filter (lambda x : x == 5, nums)) > 0)
Run Code Online (Sandbox Code Playgroud)
这个解决方案更健壮。您现在可以检查您的数组中是否有任何满足特定条件的数字nums。
例如,检查 中是否存在大于或等于 5 的数字nums:
(len(filter (lambda x : x >= 5, nums)) > 0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
383974 次 |
| 最近记录: |