laocaiye 发表于 2025-10-6 23:18:23

关于第34讲序列(中)动动手作业0的另一种实现

#本实现使用了本讲中的del方法

s=
s.sort()
i=0
res=[]
while i < len(s):
    if s % 2 == 0:
      res.append(s)
      del s
    else:
      i += 1

res = s + res
print(res)

jackz007 发表于 2025-10-7 02:27:02

本帖最后由 jackz007 于 2025-10-7 02:35 编辑

d =
d . sort()
k = 0
for i in range(len(d)) :
    if d % 2 :
      for j in range(i , k , -1) :
            d , d = d , d
      k += 1
print(d)
【运行实况】:
D:\\\\FishC.sort()>python x2.py


D:\\\\FishC.sort()>

laocaiye 发表于 2025-10-7 09:07:18

这个方法确实简洁,受教了。但是这种方法我们新手难以想到,巩固了range函数的使用。谢谢!

jackz007 发表于 2025-10-7 12:47:45

本帖最后由 jackz007 于 2025-10-7 12:54 编辑

laocaiye 发表于 2025-10-7 09:07
这个方法确实简洁,受教了。但是这种方法我们新手难以想到,巩固了range函数的使用。谢谢!

       还可以用切片来实现列表元素迁移,不用循环:
d =
d . sort()
k = 0
for i in range(len(d)) :
    if d % 2 :
      d = d[: k] + d + d + d      # 用切片来实现列表元素迁移
      k += 1
print(d)

laocaiye 发表于 2025-10-7 22:55:00

jackz007 发表于 2025-10-7 12:47
还可以用切片来实现列表元素迁移,不用循环:

看不明白
页: [1]
查看完整版本: 关于第34讲序列(中)动动手作业0的另一种实现