小编Ala*_*lan的帖子

python 排序方法中的键如何使用列表

我对 Python 有点陌生。我看到了以下代码,但不明白如何使用“列表”对字符串进行排序。

    lookup = defaultdict(list)
    ## Filling the lookup
    #  .....
    #  .....
    inputs = ['abc', 'acb', 'acb'] # a list of strings
    result = ''.join(sorted(inputs[0], key=lookup.get))
Run Code Online (Sandbox Code Playgroud)

我不明白的是最后一行是关键部分。我知道它根据列表中的值进行字典排序。如果有人可以解释它或将此步骤分解为更具可读性的解决方案,我将不胜感激。

例如,如果查找表如下所示:

   {'a' : [-3, 0, 0], 'b': [0, -1, -2], 'c': [0, -2, -1]}
Run Code Online (Sandbox Code Playgroud)

那么结果将是这个 acb

python sorting python-3.x

2
推荐指数
1
解决办法
161
查看次数

如何在 Java 中使用纪元时间和时区查找一天的结束时间

我有一个事件的纪元时间,以eventTime秒为单位,区域(事件的位置)为userZone。我需要检查某个活动是否符合资格。仅当事件在当天结束之前发生(考虑到用户所在的区域)时,事件才符合资格。由于纪元时间采用 UTC 格式,因此需要将其转换为时区时间,然后在该时区中查找一天的开始和结束。Java中有一个库ZonedDateTime

我需要实现的是:

   - Get eventTime in epoch (UTC) => getEventTime(event)
   - Get the userZone (for example CDT or EST) => getUserZone(user)
   - Convert eventTime to the local time of the user  => getEventInLocalTime(eventTime, userZone)
   - Get end of the day time for userZone => getEndOfToday(userZone)
   - if (0 <= eventLocalTime <= endOfToday) return True
Run Code Online (Sandbox Code Playgroud)

有人曾经ZonedDateTime帮助过这个逻辑吗?我实现了一些逻辑,但不确定它,因为ZonedDateTime我不清楚当天结束时返回的对象。基本上,我想要达到的目标是,如果两个不同时区的两个用户在同一纪元时间触发事件,那么显然,具有较早时区的用户将有资格获得更少的时间。

java algorithm timezone epoch java-time

1
推荐指数
1
解决办法
89
查看次数

使用 Scala 从不同平台的一个平台查询

我正在寻找一种从 Scala 中的另一台机器(远程客户端)中的一台机器(客户端)进行查询的方法。像这样的查询:

   df1 = sql(s"select * from database.table_name")
Run Code Online (Sandbox Code Playgroud)

表及其数据库位于不同平台的位置。

任何建议或解决方案?

mysql scala dataframe

0
推荐指数
1
解决办法
81
查看次数

标签 统计

algorithm ×1

dataframe ×1

epoch ×1

java ×1

java-time ×1

mysql ×1

python ×1

python-3.x ×1

scala ×1

sorting ×1

timezone ×1