python-3.x - 我需要遍历列表 x 并删除 Python 中小于 y 的值,但我似乎无法弄清楚如何
问题描述
我正在编写一个 Python 3.x 程序,它从文本文件中读取,提取必要的信息,并执行进一步的处理。
链接的问题没有解决我的问题,我知道如何使用谷歌并测试了该代码,它不起作用。
我有一个变量 pointStore,它只包含整数。我无法找到一个解决方案,我可以只从这个列表中提取我需要的元素,或者一个允许我删除其他列表中相应元素的解决方案。例如,我在一个列表中收集电话号码,在另一个列表中收集姓名,在第三个列表中收集地址。如果我从一个元素中删除一个元素,我想删除它在其他列表中的对应元素。如果我什至无法获得我需要的值,我将如何做呢?
我认为一个混乱的解决方案是将pointStore逐行写入文件,读取该文件,然后逐行迭代它,只获取我需要的元素,但我想编写更清晰的代码。
我在包括 Stack Overflow 在内的几个不同网站上进行了相当多的查看,但我找不到真正解决我的问题的答案或可以应用于我的问题的答案。
def function():
userInput = input("Enter a cutoff value: ")
for element in myList:
if element < userInput:
myList.remove(element)
当我尝试运行上面的代码时,它会从列表中删除一些值,但不符合我设置的标准,例如。我指定了 5000,它删除了 1800 但没有删除 3882。
我希望程序遍历列表 myList 并删除小于用户输入的值,存储在 userInput 中。
解决方案
如果您需要特定代码,请提供其他人可以运行和更正的内容。比如,你如何创建myList
. 如果它是一个整数列表,您可以制作一个示例。
myList = [8, 6, 7, 5, 3, 0, 9]
userInput = "5"
cutoff=int(userInput)
filtered_list = [ i for i in myList if i>cutoff ]
print(filtered_list)
现在有一些东西要运行,你可以看到结果:
[8, 6, 7, 9]
如果您的列表看起来更像。
listOfStrings = ["12,345", "67,890"]
您可以将其更改为整数列表。
myList = [int(s.replace(",", "")) for s in listOfStrings]
然后你可以过滤它。另一种方法是使用语言环境。https://stackoverflow.com/a/2954231/2067492
推荐阅读
- java - GUI 编程 - 自定义框架
- ignite - 如何将 Superset 与 Apache-ignite 连接起来?
- ruby - 我可以在 Ruby case 语句中使用两个变量之间的比较吗?
- java - 如何修改选定的日志消息以打印到不同的日志文件?
- html - 网页抓取动态 HTML 页面结构
- javascript - 从 Json 数据创建复杂表
- codenameone - Codenameone 中的样式表
- excel - 如何根据另一列中的最新唯一日期获取单元格的值?
- python - 使用连接池时的 SQLAlchemy KeyError
- python - 如何在python中记录鼠标移动?