python如何得到1~20的奇数列表与偶数列表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何得到1~20的奇数列表与偶数列表相关的知识,希望对你有一定的参考价值。
bbqs = []
for oprg in range(1,21,):
bbqs.append(oprg)
print(bbqs)
书上只教了怎么得到平方与立方,要我编出一个偶数跟奇数的列表,望各位dalao指导
1‘获取奇数和偶数列表可以不用for循环的形式,使用一句列表表达式即可实现,方法如下,首先在按下开始菜单打开jupyter notebook:
2、在空白的python文件中输入代码,这里定义两个数组其中odd代表偶数,even代表奇数,列表中先用range遍历1到20的数,然后用if语句判断x除以2的值,若为1则是奇数2,若为0则为偶数,最后在打印结果一即可:
3、最后鼠标点击每个代码块并按下crtl+回车键运行,最后即可看到两个列表的结果。以上就是python得到1~20的奇数列表与偶数列表的方法,用列表表达式的方法不光代码简洁,而且运行速度也比较快:
参考技术A1、创建一个过滤函数,用于判断数字是否为一个奇数
2、定义一个列表(可迭代对象)。
3、过滤出列表中的奇数,并返回一个可迭代序列
4、打印过滤得到的奇数列表。
5、保存文件,并执行,查看过滤得到的奇数列表的结果,偶数列表的方法同理。
参考技术B # coding=utf-8# python2.7
ji, ou = [], []
for i in range(1, 21):
if i % 2 == 0:
ou.append(i)
else:
ji.append(i)
print(ji)
print(ou)本回答被提问者和网友采纳 参考技术C odd_number=[g*2-1 for g in range(1,11)] 参考技术D for i in range(10,20,1):
prinr(i)
#最后可以用1或者-1,前者为正序,后者为反。直接输入即可不用新建window
在算法复杂度比线性更好的列表中查找第一个偶数
我的列表首先包含奇数元素,然后是偶数,所以奇数元素首先出现在列表中,然后是偶数元素。例如:
list = [5,99,3,7,111,13,4,24,4,8]
因此,偶数元素从数字4的奇数元素开始。这样做很简单,但是具有线性复杂度,但是必须具有更高的复杂度,因此想到二进制搜索,但是我不知道如何在这种情况下实现它。感谢帮助。
由于这些值已经组织好,所以只取集合的中间值(数组,列表),然后检查它是偶数还是奇数。
甚至吗?然后,第一个偶数值位于集合的前半部分,您可以丢弃后半部分,也可以舍弃当前的后半部分。
奇怪吗?然后第一个偶数值还没有出现,丢弃前半部分,将第二个保留为新集合,并继续进行直到找到为止。
一些视觉指南:https://www.freecodecamp.org/news/binary-search-in-python-visual-introduction/
您可以分割列表并找到索引i,以使索引i处的元素为偶数,而前一个元素为奇数。
def first_idx_even(l):
"""Return the index of the first even element."""
lo, hi = 0, len(l)
while lo < hi:
mid = (lo+hi)//2
# mid equal 0 or sequence odd - even
if not mid or (l[mid] + l[mid-1]) % 2 == 1:
return mid
# sequence even - even
elif l[mid] % 2 == 0 and l[mid-1] % 2 == 0:
hi = mid
# sequence odd - odd
else:
lo = mid+1
>>> first_idx_even([1,2,2,4,24,4,8])
1
>>> first_idx_even([5,99,3,7,111,13,4,24,4,8])
6
>>> first_idx_even([2,22])
0
>>> first_idx_even([21,3])
None
以上是关于python如何得到1~20的奇数列表与偶数列表的主要内容,如果未能解决你的问题,请参考以下文章