作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 python 列表 [1,2,3,4,5],我必须打印 [1,2,3,4,5,5,4,3,2,1]。
请建议如何在循环中执行操作(while 或 for)
最佳答案
使用for
循环:
>>> l = [1, 2, 3, 4, 5]
>>> res = []
>>> for e in reversed(l):
... res.append(e)
... res.insert(0, e)
>>> res
[1, 2, 3, 4, 5, 5, 4, 3, 2, 1]
如果列表未排序,请使用 sorted
代替 reversed
,并将反向标志设置为 True
>>> l = [4, 3, 1, 5, 2]
>>> res = []
>>> for e in sorted(l, reverse=True):
... res.append(e)
... res.insert(0, e)
...
>>> res
[1, 2, 3, 4, 5, 5, 4, 3, 2, 1]
并且,为了获得更高效的版本,我建议使用迭代器:
>>> import itertools
>>> l = sorted([4, 3, 1, 5, 2])
>>> res = list(itertools.chain(l, reversed(l)))
>>> res
[1, 2, 3, 4, 5, 5, 4, 3, 2, 1]
关于python - 如何在Python中按升序对前半部分进行升序对后半部分进行降序排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53097331/
我是一名优秀的程序员,十分优秀!