关于python的for循环,如何根据条件实现部分循环?
a =for i in a :
if i <3:
print(i,end=' ')
上面的代码是不完整的。我的想法是:
当i小于3时,开始输出i,直到i是8时,停止输出。然后又当i小于3时,又开始输出i,直到i是又8时,又停止输出。反复如此,直到跌代完整个列表。
按我的想方,上面的输出结果是:23456721461
麻烦解答一下,谢谢!!! 我写了个方法,貌似可以做到你要的效果
你自己试试看import re
def func(a):
b = "".join(list(map(str,a)))+"8"
lis = re.findall("(\d*?)8",b)
for each in lis:
for i in each:
print(i,end=" ")
a =
func(a)
>>>2 3 4 5 6 7 2 1 4 6 1 gopythoner 发表于 2017-5-28 22:30
我写了个方法,貌似可以做到你要的效果
你自己试试看
太感谢你的回复了,不过你的代码我看不明白,部分知道点没有学到到
re是什么模块?
b = "".join(list(map(str,a)))+"8"
lis = re.findall("(\d*?)8",b)
这两行代码,能否大致解说一下,谢谢 flyps 发表于 2017-5-28 22:49
太感谢你的回复了,不过你的代码我看不明白,部分知道点没有学到到
re是什么模块?
re 是正则表达式,这个是很基础但是很强大的模块
b = "".join(list(map(str,a)))+"8" 这句是把你给的这个数字组成的列表变成一个字符串,因为我用正则表达式是匹配结尾需要8,所以为了避免最后一段匹配不到,所以我在字符串后面补上一个8
lis = re.findall("(\d*?)8",b) 这个是正则表达式,匹配用的,你学了正则就能懂
gopythoner 发表于 2017-5-28 23:00
re 是正则表达式,这个是很基础但是很强大的模块
b = "".join(list(map(str,a)))+"8" 这句是把你给的这 ...
好的,万分感谢
页:
[1]