result = False
for i in range(len(str1)):
if str1[i] in nums:
result = True
Python for循环还可以直接迭代字符串的元素:
result = False
for x in str1:
if x in nums:
result = True
在本文的第一个代码片段中,表达式x in nums for x in str1使用Python的列表理解特性。它遍历str1的每个元素x,并找到x in nums的结果。any(x in nums for x in str1)返回True如果(并且仅当)这些结果中至少有一个是True(表示数字在str1中)。这很像本文中给出的第二个for循环示例,许多Python程序员选择这个选项是因为它简洁,而且其他Python程序员仍然可以理解。你知道吗
使用^{} 和generator expression:
下面是一个演示:
请注意,当您有一组自定义的数字要测试时,上面的内容是适用的。但是,如果您只是在查找数字,那么一种更简洁的方法是使用^{} :
大多数Python程序员都会告诉您,最简洁的方法是使用:
但是,如果您是Python新手,或者需要更好地掌握字符串操作的基本知识,那么您应该学习如何使用更基本的工具来实现这一点。你知道吗
在Python中,可以使用索引周围的方括号访问字符串、列表、元组或任何其他iterable的单个元素。字符串的字符从0开始索引(例如
"hello"[0]
给出"h"
)。你知道吗使用for循环,对于Python新手来说,该解决方案比上述
any
解决方案更容易理解:Python for循环还可以直接迭代字符串的元素:
在本文的第一个代码片段中,表达式
x in nums for x in str1
使用Python的列表理解特性。它遍历str1
的每个元素x
,并找到x in nums
的结果。any(x in nums for x in str1)
返回True
如果(并且仅当)这些结果中至少有一个是True
(表示数字在str1
中)。这很像本文中给出的第二个for
循环示例,许多Python程序员选择这个选项是因为它简洁,而且其他Python程序员仍然可以理解。你知道吗使用
any
函数,当iterable中至少有一个元素为true时,该函数返回一个为true的布尔值。你知道吗相关问题 更多 >
编程相关推荐