小编use*_*124的帖子

将 scala 映射值与列表进行比较,并返回列表中不存在的键的默认值

我试图将 Scala HashMap 的键与值列表进行比较,如果列表中不存在该键,我需要将 Map 的值更新为默认值 -1。

例如:考虑以下情况:

列表:

val pos = List("100","110")
Run Code Online (Sandbox Code Playgroud)

地图:

scala> idSizeMap
res2: scala.collection.immutable.Map[String,Long] = Map(100 -> 4240070722, 110 -> 611884363, 120 -> 1825405636, 130 -> 2194234, 72 -> 3685020648)
Run Code Online (Sandbox Code Playgroud)

使用filterKeys我可以做类似交集的操作

scala> val result = idSizeMap.filterKeys(pos.contains)
result: scala.collection.immutable.Map[String,Long] = Map(100 -> 4240070722, 110 -> 611884363)
Run Code Online (Sandbox Code Playgroud)

但我也希望旧地图中的键具有默认值 -1。预期输出:

Map(100 -> 4240070722, 110 -> 611884363, 120 -> -1, 130, -1, 72 -> -1)
Run Code Online (Sandbox Code Playgroud)

我还尝试了以下操作,它执行与 filterKeys 相同的操作:

var similarItems = Map[String, Long]()
similarItems: scala.collection.immutable.Map[String,Long] = Map()

scala> for (eachpos …
Run Code Online (Sandbox Code Playgroud)

dictionary hadoop scala data-science

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

BeforeInsert 和 AfterInsert 钩子未被调用

我有一个BeforeInsertandAfterInsert钩子没有被调用。它所做的只是记录hook。我正在使用 Nestjs-graphql。

您可以运行此示例npm i,然后发送一个突变(playground 位于localhost:3000/graphql)body 处createUser(createInput:{password:"password" email:"test@test.com"})。它应该成功并记录hook

钩子(没有记录任何内容):

@Entity('user')
export default class UserEntity {

    @PrimaryGeneratedColumn()
    id: number;

    @Column()
    @IsEmail()
    email: string;

    @Column()
    @Length(7, 42)
    password: string;

    @BeforeInsert()
    @AfterInsert()
    async validate() {
        console.log("hook")
    }
}
Run Code Online (Sandbox Code Playgroud)

它是从服务中调用的。插入不会引发错误,并here2会被记录:

@Injectable()
export class UserService {
    constructor(
        @InjectRepository(UserEntity)
        private readonly userRepository: Repository<UserEntity>,
    ) { }

    async createNew(email: string, password: string): Promise<number> {
        console.log("here2")
        const hashedPassword = …
Run Code Online (Sandbox Code Playgroud)

sqlite graphql typeorm nestjs

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

HDFS 和 ADLS 有什么区别?

我对 Azure 数据湖存储与 HDFS 的不同之处感到困惑。有人可以用简单的术语解释一下吗?

hadoop hadoop2 azure-data-lake

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

在 SQLite 数据库中插入数百万行,Python 太慢

对于我的国际象棋引擎,我使用统计数据来选择最佳动作。我从数百万个游戏中收集了它们。我对当前棋步下一步棋以及当前棋步下棋的次数感兴趣。

对于使用 Python 字典并用 pickle 存储它,文件太大,并且很难用新游戏更新。所以我决定使用 SQLite。

我创建了一个类MovesDatabase

class MovesDatabase:

def __init__(self, work_dir):
    self.con = sqlite3.connect(os.path.join(work_dir, "moves.db"))
    self.con.execute('PRAGMA temp_store = MEMORY')
    self.con.execute('PRAGMA synchronous = NORMAL')
    self.con.execute('PRAGMA journal_mode = WAL')
    self.cur = self.con.cursor()

    self.cur.execute("CREATE TABLE IF NOT EXISTS moves("
                     "move TEXT,"
                     "next TEXT,"
                     "count INTEGER DEFAULT 1);")
Run Code Online (Sandbox Code Playgroud)

movenext以字符串格式表示棋盘的状态:FEN。例子:

  • rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPPP/RNBQKBNR
  • r1b1k1nr/p2p1pNp/n2B4/1p1NP2P/6P1/3P1Q2/P1P1K3/q5b1
  • 8/8/8/4p1K1/2k1P3/8/8/8b

下面的方法负责获取游戏文件,提取动作并插入(如果 ( move, next) 是新的),或者更新(如果 ( move, next) 已存在于数据库中:

def insert_moves_from_file(self, file: str):
    print("Extracting moves …
Run Code Online (Sandbox Code Playgroud)

python sqlite chess

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

如何在 MicroPython 中格式化时间?

我正在尝试使用 Raspberry Pi Pico 和 MicroPython 转换time.localtime()为字符串。我尝试过.join(),但 Raspberry Pi Pico 运行 MicroPython:

from machine import Pin, I2C
from ssd1306 import SSD1306_I2C

now = time.localtime()
print("Current date and time: ")
print(now)

w = 128
h = 32

i2c = I2C(0, scl=Pin(17), sda=Pin(16), freq=200000)
addr = i2c.scan()[0]
oled = SSD1306_I2C(w, h, i2c, addr)

oled.fill(0)
oled.text("Raspberry Pi ", 5, 5)
olex.text("Hi Leo", 5, 15)

oled.show()
Run Code Online (Sandbox Code Playgroud)

format time micropython raspberry-pi-pico

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

如何将数组乘以第二个数组的每个元素并将它们连接起来?

我的矩阵:

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6]])
Run Code Online (Sandbox Code Playgroud)

我想要c作为:

np.array([[5, 10, 6, 12], [15, 20, 18, 24]])
Run Code Online (Sandbox Code Playgroud)

逐项乘以ab然后将它们连接起来。如何在没有双循环的情况下有效地做到这一点?

python numpy kronecker-product

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

搜索引擎机器人如何工作?

机器人(搜索引擎的索引)如何编程以及它们如何运作?

indexing search bots web-crawler

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

从AutoIt执行Python脚本

我有一个Python(.py)文件,需要从AutoIt执行它.我怎样才能做到这一点?

python autoit

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

区分同一程序的多个实例

如何通过PID定位进程?我有同一个程序的多个实例同时处于活动状态,但我的代码仅适用于一个.我想针对所有实例.

那么在哪里放置PID(我的意思是第一行)或者如何区分多个实例?

Global $WindowTitle = "World of Warcraft"

Global $PauseKey = "{F7}"
Global $TerminateKey = "{F8}"
Global $PVPOpenKey = "{h}"
Global $MacroBindKey = "{8}{a}"

Global $Paused = False

HotKeySet( $PauseKey, "Pause" )
HotKeySet( $TerminateKey, "Terminate" )

While 1
    If Not $Paused Then
        ControlSend( $WindowTitle, "", 0, $PVPOpenKey )
        Sleep( 5000 )
        ControlSend( $WindowTitle, "", 0, $MacroBindKey )
    EndIf

    Sleep( 500 )
WEnd

Func Pause()
    $Paused = Not $Paused
EndFunc

Func Terminate()
    Exit
EndFunc
Run Code Online (Sandbox Code Playgroud)

pid bots autoit

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

未捕获错误:语法错误,无法识别的表达式:href

我试图在 href 中包含一个链接,但 jQuery 给出了以下错误:

未捕获错误:语法错误,无法识别的表达式:http://www.google.com

我在 CodeIgniter 中使用 jQuery 1.12.0,并且 href 中的任何类似于 URL 的内容都会被 jQuery 拒绝。

<li class="dropdown">
    <a href="#our-team" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown">Over ons <b class="caret"></b></a>
    <ul class="dropdown-menu">
        <li><a tabindex="-1" href="http://www.google.com">Geschiedenis</a></li>
        <li><a tabindex="-1" href="#b">Onze doel</a></li>
        <li><a tabindex="-1" href="#c">Prestaties</a></li>
    </ul>
</li>
Run Code Online (Sandbox Code Playgroud)

这是什么原因以及如何解决?JavaScript:

jQuery(document).ready(function($) {

    'use strict';

    /************** Toggle *********************/
    // Cache selectors
    var lastId,
    topMenu = $(".menu-first"),
    topMenuHeight = topMenu.outerHeight()+15,
    // All list items
    menuItems = topMenu.find("a"),
    // Anchors corresponding to menu items
    scrollItems = menuItems.map(function(){

        if($(this).hasClass('external')) {
            return; …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

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