返回信息流我想把lsFlag中的小于10的数拿出来放在列表ls中 ,然后ls列表中数据按照升序排列。
下面为什么不行啊? 跟了好久都没发现不对啊。
#我的想法是:找到一个就放在ls中,然后找到下一个时候和ls列表从最后一个元素开始依次比较,如果小,就swap位置。。。。
哪位高手帮忙看下
lsFlag = [1,6,5,4,8,2,20,30,50]
ls = []
for i in range(0,len(lsFlag)):
if lsFlag[i] < 10:
ls.append(lsFlag[i])
j = len(ls)
for j in range(0,len(ls)):
if ls[j] >= ls[j-1]:
break
else:
strTemp = ls[j]
ls[j] = ls[j-1]
ls[j-1] = strTemp
j = j - 1
i = i+1
print ls
最后 ls=[6, 1, 4, 5, 8, 2]
还有一个问题
for j<2:
......
上面语法在for这行怎么提示 invalid syntax呢?
这是一条镜像帖。来源:北邮人论坛 / soft-design / #33872同步于 2009/4/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
python的2问题[求助]
youziboy
2009/4/23镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
正解
【 在 songshu 的大作中提到: 】
: ls = [elem for elem in lsFlag if elem<10]
: ls.sort()
另解:
ls = [1,2,8,3,56,7,7,4,55,22,44,66,88,33]
lss = sorted(filter(lambda x:x<10,ls))