有啥函数,啥可以获取当天的第一个值并在 Python 中跳过同一天的值?

Posted

技术标签:

【中文标题】有啥函数,啥可以获取当天的第一个值并在 Python 中跳过同一天的值?【英文标题】:Is there any function, what can get a first value of the day and skip the values of the same day in Python?有什么函数,什么可以获取当天的第一个值并在 Python 中跳过同一天的值? 【发布时间】:2022-01-23 05:10:04 【问题描述】:

我有一个 json 文件,其中包含许多不同时间的值,例如 05-01-2020 19:04:27。 时间也有一个特定的值,例如 05-01-2020 19:04:27。 3503.443.

我怎样才能得到一个单一的值,我不想打印所有的值,只打印一个。 例如

05-01-2020 19:04:27, 2567.2 05-01-2020 19:44:51, 4333.54 05-01-2020 21:35:10, 4345.45 05-01-2020 23:04:49, 3503.443

我只需要第一个。

我尝试在 Python 范围内循环文件并每天选择,不幸的是每天的价值量可能不同。有朝一日有 2 个值,但有朝一日甚至有 22 个。

Summa summarum 有什么功能,什么可以获取当天的第一个值并跳过当天的值并打印它,然后是第二天的第一个值等等? :)

【问题讨论】:

条目是否已经按时间顺序排序?有多少? 【参考方案1】:

列表中的项目是如何构成的?

如果每个值都是一个字符串:("05-01-2020 23:04:49, 3503.443")

理想的解决方案是遍历整个列表,拆分项目并将结果分配给不同的列表:

my_list = ["05-01-2020 23:04:49, 3503.443", "05-01-2020 23:04:49, 3503.443", "05-01-2020 23:04:49, 3503.443", "05-01-2020 23:04:49, 3503.443", "05-01-2020 23:04:49, 3503.443"]
datetime = []
values = []

for val in my_list:
    split_val = val.split(" ")
    datetime.append(f"split_val[0] split_val[1][:-1]")
    values.append(split_val[2])

structured_list = list(zip(datetime, values))

def get_value(your_structured_list: list, datetime:str):
    for val in your_structured_list:
        if datetime == val[0]:
            return val[1]

get_value(structured_list, '05-01-2020 23:04:49')

【讨论】:

谢谢回复 :) 是的,每个值都是一个字符串,就像你写的那样。这个解决方案也有效,就像我得到的第二个答案一样。必须检查哪一个与我的项目一起工作:)【参考方案2】:

您可以将每个日期写入字典,以便每个日期只有一个值:

timestamps = [
    "05-01-2020 19:04:27, 2567.2",
    "05-01-2020 19:44:51, 4333.54",
    "05-01-2020 21:35:10, 4345.45",
    "05-01-2020 23:04:49, 3503.443",
    "05-02-2020 00:04:49, 3503.443",
    "05-02-2020 01:04:49, 3503.443",
]

value_by_day = x.split()[0]: x for x in timestamps[::-1]
print(list(value_by_day.values())[::-1])

它以相反的顺序运行,因此最后一个值(每天)是保留在 value_by_day 字典中的值。然后打印字典中的所有值,但再次颠倒顺序以使其恢复到时间顺序

输出:

['05-01-2020 19:04:27, 2567.2', '05-02-2020 00:04:49, 3503.443']

【讨论】:

以上是关于有啥函数,啥可以获取当天的第一个值并在 Python 中跳过同一天的值?的主要内容,如果未能解决你的问题,请参考以下文章

有啥作用? ... : ... 做? [复制]

有啥方法可以首先获取参数,最后在球拍中的函数中获取名称?

使用 php 从 SQL DB 获取值并在 HTML5 中使用

有啥方法可以在纯 javascript 中将元素作为函数获取?

如何分解数据库中的值并在选择查询中使用它?

有啥方法可以通过 Python 中的 id 获取对象的大小?