<p>我试着让它成为创建列表理解的习惯,并基本上优化我编写的任何代码。
我做了一个小练习,以确定给定数字中的所有数字是否均为偶数,在尝试创建包含for循环的列表时,如果语句遇到“continue”&;“break”问题。
我甚至可以将这些流控件插入到列表中吗?</p>
<p>我很想知道我能缩短多少代码。
这是我写的,我很想得到你们的反馈。</p>
<pre><code>numbers = [str(x) for x in range(0, 10000)]
def is_all_even(nums):
temp_lst = []
evens_lst = []
for x in nums:
for y in x:
if int(y) % 2 == 0:
temp_lst.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(str(y))
continue
else:
break
if len(''.join(temp_lst[:])) == len(x):
evens_lst.append(''.join(temp_lst[:]))
del temp_lst[:]
print(evens_lst)
</code></pre>
<p>不必向函数发送整个数字列表,只需向函数发送一个数字,然后使用列表理解将其应用于列表。</p>
<pre><code>def is_all_even(num):
return all(ch in '02468' for ch in str(num))
print([n for n in range(10000) if is_all_even(n)])
</code></pre>