一般来讲所示:

Python中特别成分列表的贯彻方式,python无限元素列表

正文实例讲述了Python怎么落到实处Infiniti成分列表的措施,具体落到实处可选择Yield来产生。

上边所述的二段实例代码通过Python Yield 生成器完成了归纳的极端元素列表。

一.递增Infiniti列表

具体代码如下:

def increment():
 i = 0
 while True:
  yield i
  i += 1

for j in increment():
 print i
 if (j > 10) : break

二.斐波那契Infiniti列表

切切实实代码如下:

def fibonacci():
 i = j = 1
 while True:
  result, i, j = i, j, i + j
  yield result

for k in fibonacci():
 print k
 if (k > 100) : break

【yzc888亚洲城电脑版】Python中无限元素列表的实现方法,Python实现删除列表中满足一定条件的元素示例。Python达成删除列表中级知识分子足一定条件的要素示例,python示例

正文实例讲述了Python完毕删除列表中级知识分子足一定原则的因素。分享给大家供大家参考,具体如下:

从列表中删去餍足一定条件的成分。

如:删除3个列表中长度为0的要素,也许去除列表中同一时候是2和3的翻番的因素。

做过高级语言编制程序的人想当然的会感到“这非常粗大略”,能够如上面包车型客车方法来贯彻:

for i in listObj:
  if(...):
    listObj.remove(i)

看下二个小例子和结果:

a = [1, 2, 3, 12, 12, 5, 6, 8, 9]
for i in a:
    if i % 2 == 0 and i % 3 == 0:
      a.remove(i)
print(a)

运作结果:

E:\Program\Python>d.py
[1, 2, 3, 12, 5, 8, 9]

探望了吗?12竟是从未被剔除!!!(那是Python列表操作的2个特别轻松出错的地点)

要促成预期的靶子,其实照旧有无数变通方法的,比如:

a = [1, 2, 3, 12, 12, 5, 6, 8, 9]
b = a[:]
for i in a:
    if i % 2 == 0 and i % 3 == 0:
      b.remove(i)
a = b
print(a)

运行结果:

E:\Program\Python>d.py
[1, 2, 3, 5, 8, 9]

看望,未来实现预期的指标了啊。从地点的代码简单察觉,大家营造了列表b,复制了列表a中的全数因素,通过遍历a来删除b中的成分,最终把a指向b。

自己还发掘了另一种艺术,自以为挺不错的——列表推导式

a = ['what', '', '', 'some', '', 'time']
a = [i for i in a if len(i) > 0]
print(a)
b = [1, 2, 3, 12, 12, 5, 6, 8, 9]
b = [i for i in b if not(i % 3 == 0 and i % 2 == 0)]
print(b)

运维结果:

E:\Program\Python>d.py
['what', 'some', 'time']
[1, 2, 3, 5, 8, 9]

相相比之下,您以为哪类写法越来越好啊??从性质上来看,大概功能都不是太好,不过从写法简洁上来看,小编是更欣赏后者!

愈来愈多Python相关内容感兴趣的读者可查看本站专项论题:《Python列表(list)操作本事计算》、《Python编码操作技巧总计》、《Python数据结构与算法教程》、《Python函数使用能力总结》、《Python字符串操作本事汇总》、《Python入门与进级杰出教程》及《Python文件与目录操作技艺汇总》

盼望本文所述对大家Python程序设计具备帮助。

本文实例讲述了Python实现删除列表中级知识分子足一定条件的要素。分享给我们供咱们参照他事他说加以考察…

Python去除列表中再次成分的秘技,python去除列表成分

正文实例讲述了Python去除列表中重新成分的法子。分享给我们供大家参谋。具体如下:

正如易于回忆的是用内置的set

l1 = ['b','c','d','b','c','a','a']
l2 = list(set(l1))
print l2

还应该有壹种遗闻速度越来越快的,没测试过两个的快慢差距

l1 = ['b','c','d','b','c','a','a']
l2 = {}.fromkeys(l1).keys()
print l2

那三种都有个毛病,祛除重复成分后排序变了:

['a', 'c', 'b', 'd']

倘若想要保持他们原来的排序:

用list类的sort方法

l1 = ['b','c','d','b','c','a','a']
l2 = list(set(l1))
l2.sort(key=l1.index)
print l2

也能够这样写

l1 = ['b','c','d','b','c','a','a']
l2 = sorted(set(l1),key=l1.index)
print l2

也能够用遍历

l1 = ['b','c','d','b','c','a','a']
l2 = []
for i in l1:
  if not i in l2:
    l2.append(i)
print l2

地点的代码也得以这么写

l1 = ['b','c','d','b','c','a','a']
l2 = []
[l2.append(i) for i in l1 if not i in l2]
print l2

那般就足以确定保证排序不改变了:

['b', 'c', 'd', 'a']

期望本文所述对大家的Python程序设计有着补助。

本文实例讲述了Python去除列表中另行成分的艺术。分享给大家供我们仿效。具体如下:…

网站地图xml地图