python - 如何使用 python 删除循环列表的元素,直到只剩下一个元素?

标签 python list circular-list

<分区>

我将如何从 1 到 100 遍历列表,从第一个元素开始删除所有其他元素,然后重复该步骤直到列表中只剩下一个元素。我是否必须使用循环链表,还是仅使用循环和条件语句就可以完成?

最佳答案

这会一遍又一遍地删除所有其他元素,直到只剩下一个

>>> L = range(100)       # for Python3, use L = list(range(100))
>>> while len(L) > 1:
...     del L[::2]
... 
>>> L
[63]

我不确定“循环列表”是什么意思,但也许需要这样修改

>>> L = range(100)
>>> while len(L) > 1:
...     del L[len(L)%2::2]
... 
>>> L
[99]

len(L)%2 表示如果 L 的长度为奇数,则 del L[1::2]

或者如果你想看看发生了什么:

>>> L = range(100)
>>> while len(L) > 1:
...     del L[len(L)%2::2]
...     L
... 
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]
[3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51, 55, 59, 63, 67, 71, 75, 79, 83, 87, 91, 95, 99]
[3, 11, 19, 27, 35, 43, 51, 59, 67, 75, 83, 91, 99]
[3, 19, 35, 51, 67, 83, 99]
[3, 35, 67, 99]
[35, 99]
[99]

关于python - 如何使用 python 删除循环列表的元素,直到只剩下一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21869984/

相关文章:

python - 更改 Bokeh 中双轴标签文本的颜色

python - 从父目录中的python模块导入子目录中的jupyter笔记本文件

python - 写入文件的更好方法?

c - 在循环链表的末尾插入在 C 中不起作用

Java循环链表 headless 无尾?

javascript - javascript中的循环链表

python - 在 Django 中将 json(来自前端)数据写入 models.py 的标准方法是什么

函数内的 Python 星号表达式不起作用

python - 无法将列表映射到 python 中的列表列表

python - 根据每个字符串中的子字符串对字符串列表进行排序