如何在python中打印第一个true和第一个false

问题描述 投票:0回答:1

我有一组时间,每行都有一个 true 或 false 值,我想打印出第一行 true,然后跳过直到它变为 false 并在整个文件中交替打印

这只是集合的一个例子,如果到物体的速度和距离小于给定的数字,我就用真实值表示

我想要打印什么

关于如何在 python 中执行此操作的任何想法

python-3.x csv
1个回答
1
投票

我已获取您的数据并将其转换为

list
Python
dict
结构。您可以轻松地使用列表列表(
[ [..], [..], ... ]
),但是字典可以让您在开始时更容易想象

data = [
    {'id': 1, "time": "10/03/2022 01:20", "bool": True},
    {'id': 2, "time": "10/03/2022 01:20", "bool": True},
    {'id': 3, "time": "10/03/2022 01:20", "bool": True},
    {'id': 4, "time": "10/03/2022 01:20", "bool": False},
    {'id': 5, "time": "10/03/2022 01:20", "bool": False},
    {'id': 6, "time": "10/03/2022 01:20", "bool": False},
    {'id': 7, "time": "10/03/2022 15:13", "bool": True},
    {'id': 8, "time": "10/03/2022 15:13", "bool": True},
    {'id': 9, "time": "10/03/2022 15:13", "bool": False},
    {'id': 10, "time": "10/03/2022 15:13", "bool": True}
]

current_bool=None
for row in data:
    if current_bool != row['bool']:
        print(row)
    current_bool=row['bool']

输出为:

{'id': 1, 'time': '10/03/2022 01:20', 'bool': True}
{'id': 4, 'time': '10/03/2022 01:20', 'bool': False}
{'id': 7, 'time': '10/03/2022 15:13', 'bool': True}
{'id': 9, 'time': '10/03/2022 15:13', 'bool': False}
{'id': 10, 'time': '10/03/2022 15:13', 'bool': True}   
© www.soinside.com 2019 - 2024. All rights reserved.