小编xra*_*alf的帖子

选择具有重量的随机项目

我有一个大约的列表.10000件物品.目前的情况是每个项目都有相关的权重(优先级或重要性).现在最小的重量是-100(负值和零值可以去除),最高权重是1500.体重由人们的直觉决定(人们如何认为该项目对社区很重要).因为要确定最重要的项目并不容易,所以我想使用一些随机因素,这样重量较轻的物品选择的机会就会减少,而且将来会调整它们的重量(常识和随机性).

你知道如何编写一个函数getItem吗?

def getItem(dict):
  # this function should return random item from 
  # the dictionary of item-weight pairs (or list of tuples)
  # Normally I would return only random item from the dictionary,
  # but now I'd like to have this: The item with weight 1500 should
  # have much more chance to be returned than the item with weight 10.
  # What's my idea is to sum up the weights of all items …
Run Code Online (Sandbox Code Playgroud)

python random

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

在不使用搜索的情况下转到Vim中的下一个单词

在Vim中是否有一个快捷方式可以转到下一个单词,这个单词和单词光标一样?它应该工作而不用搜索命令键入单词/.

vim command keyboard-shortcuts

8
推荐指数
4
解决办法
2144
查看次数

更改折叠中的文本

我注意到折叠文本可以显示有用的信息.他们通常表现出类似的东西

+-- 5 lines: <div id="header-inner">--------------------------------------------

是否可以更改这些行中的文本?我注意到有些东西是可能的,foldexpr但是可以完全重新设计折叠吗?
例如
+ <div id="header-inner"> : "possible comment from line above" : row 27 : length 5

谢谢

vim folding

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

插入带有唯一列的sqlite表

我正在将值插入到我的表中(来自python代码),如下所示:

cur.execute("insert into t(a, b, c) values (?, ?, ?)", (a, b, c))
Run Code Online (Sandbox Code Playgroud)

unique constraint列c上有一个.insert当我们为c列插入重复值时,如果我想覆盖这种情况,常见的方法是什么?
我有一些想法

  1. 如果值已经存在,则在插入之前选择从t到列表和测试的所有内容
  2. try-catch块
  3. 一些更复杂的sqlite语句

你会如何测试它?

谢谢

python sqlite

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

DOMContentLoaded只有一次

我正在使用此代码进行firefox扩展

1: var Test {
2:  f: function() {
3:    alert("DOM content loaded");
4:    window.removeEventListener("DOMContentLoaded", function(e) { Test.f(); }, false);
5:  }
6: }
7: window.addEventListener("DOMContentLoaded", function(e) { Test.f(); }, false);
Run Code Online (Sandbox Code Playgroud)

它应该在加载DOM内容(weg页面)时执行函数f()中的代码,这意味着如果我打开新页面或新选项卡或重新加载页面,它应该给我一个警报.问题是,它给了我大约20个警报,而不是一个.
如果我想在函数f()中附加一些文本(例如,如果我想附加文本"(com)"它将附加"(com)(com)(com)(com)( COM)"

你知道如何实现我想要的行为吗? removeEventListener没有帮助.

罪魁祸首似乎是其他firefox扩展和about:blank.DOMContentLoaded上的事件监听器是否可能忽略其他扩展导致的页面加载?

谢谢

javascript events firefox-addon addeventlistener

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

SQLite中的条件更新

我可以在这样SQLite的声明中创建吗?

update books set
(if number_of_pages > 0 then number_of_pages = number_of_pages - 1)
where book_id = 10
Run Code Online (Sandbox Code Playgroud)

这有一个有效的语法吗?

sql sqlite

7
推荐指数
2
解决办法
7602
查看次数

[驱动程序管理器]无法打开库“/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.9.so.1.1”

当我跑步时 $ python manage.py inspectdb --database=mssql_database

我有以下错误

django.db.utils.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.9.so.1.1' : file not found (0) (SQLDriverConnect)")
Run Code Online (Sandbox Code Playgroud)

但文件libmsodbcsql-17.9.so.1.1就在那里。

$ cat /etc/odbcinst.ini 
[ODBC]
Trace=Yes
TraceFile=/tmp/odbc.log

[FreeTDS]
Description=TDS driver (Sybase/MS SQL)
Driver=libtdsodbc.so
Setup=libtdsS.so
CPTimeout=
CPReuse=
UsageCount=2

[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.9.so.1.1
UsageCount=1



$ odbcinst -j
unixODBC 2.3.7
odbcinst: symbol lookup error: odbcinst: undefined symbol: odbcinst_system_file_name


$ ldd /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.9.so.1.1 
    linux-vdso.so.1 (0x00007fff545c4000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9f85470000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 …
Run Code Online (Sandbox Code Playgroud)

django odbc sqlanywhere unixodbc pyodbc

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

回调函数的用处

在Javascript中,有可能定义一个函数X并将其作为参数传递给另一个函数Y.

这样的函数X称为a callback function.

你能解释为什么在一些明显的例子中使用回调函数是有用的(例如发送一些小提琴链接和演示)?我可以看到一个有用的东西,它的代码可读性,但我不确定,因为带回调的代码看起来更复杂.

唯一有用的是它在浏览器环境中的使用和AJAX中的异步执行?那么另外的Javascript实现(例如Rhino)呢?回调在那里也有用吗?或者它们的用处是否仅取决于执行Javascript的环境?

谢谢

javascript function callback

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

"插入或忽略"后lastrowid的值

我有一个Python代码如下:

...
cur.execute("insert or ignore into books (title, authors, ...) \
values (:title, :authors, ..."), locals())
...
bookId = cur.lastrowid
Run Code Online (Sandbox Code Playgroud)

如果ignore部分select statement适用

然后的值cur.lastrowid0.

但这不是我想要的.books.id无论如何,我想从数据库中获取价值.

我应该使用select声明还是有更聪明的方法来实现它?

我的临时解决方案

if bookId == 0:
    cur.execute("select id from books where \
    title = :title and authors = :authors", locals())
    bookId = cur.fetchone()[0]  
Run Code Online (Sandbox Code Playgroud)

python sql sqlite insert

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

如果存在可选参数,则不需要所有位置参数

我有以下片段:

parser = argparse.ArgumentParser()
parser.add_argument("a") # always required
parser.add_argument("x") # don't required in case -t option is chosen
parser.add_argument("y") # don't required in case -t option is chosen
parser.add_argument("z") # don't required in case -t option is chosen
parser.add_argument("-t", "--tt")
args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)

问题的关键是,我不需要的位置参数xy并且z如果-t指定选项。

python command-line-arguments argparse

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