Nex*_*xxt 4 python int contains
如何查看索引是否包含某些数字?
numbers = [2349523234, 12345123, 12346671, 13246457, 134123431]
for number in numbers:
if (4 in number):
print(number + "True")
else:
print("False")
Run Code Online (Sandbox Code Playgroud)
您将为此进行字符串比较
for number in numbers:
if '4' in str(number):
print('{} True'.format(number))
else:
print("False")
Run Code Online (Sandbox Code Playgroud)
询问数字4是否“在”另一个数字中并没有什么真正的意义(除非您对“在”中有一些特定的定义)
您可以将数字转换为字符串,如果要获取其中的第一个数字,4可以在以下范围内使用生成器表达式next:
>>> next(i for i in numbers if '4' in str(i))
2349523234
Run Code Online (Sandbox Code Playgroud)
或者,如果您想保留满足条件的数字,则可以使用列表推导:
expected_numbers=[i for i in numbers if '4' in str(i)]
Run Code Online (Sandbox Code Playgroud)
但是从数学的角度来看,您可以使用以下函数生成所有数字:
In [1]: def decomp(num):
...: while num:
...: yield num % 10
...: num = num // 10
Run Code Online (Sandbox Code Playgroud)
然后,您可以执行以下操作:
In [3]: numbers = [2349523234, 12345123, 12346671, 13246457, 134123431]
In [4]: [n for n in numbers if any(4==i for i in decomp(n))]
Out[4]: [2349523234, 12345123, 12346671, 13246457, 134123431]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12046 次 |
| 最近记录: |