小编phi*_*pxy的帖子

Python join:为什么是string.join(list)而不是list.join(string)?

这一直困扰着我.看起来这会更好:

my_list = ["Hello", "world"]
print(my_list.join("-"))
# Produce: "Hello-world"
Run Code Online (Sandbox Code Playgroud)

比这个:

my_list = ["Hello", "world"]
print("-".join(my_list))
# Produce: "Hello-world"
Run Code Online (Sandbox Code Playgroud)

是否有这样的具体原因?

python string list

1669
推荐指数
8
解决办法
124万
查看次数

如何在MongoDB中执行SQL Join等效项?

如何在MongoDB中执行SQL Join等效项?

例如,假设你有两个集合(用户和评论),我想用pid = 444以及每个集合的用户信息来提取所有评论.

comments
  { uid:12345, pid:444, comment="blah" }
  { uid:12345, pid:888, comment="asdf" }
  { uid:99999, pid:444, comment="qwer" }

users
  { uid:12345, name:"john" }
  { uid:99999, name:"mia"  }
Run Code Online (Sandbox Code Playgroud)

有没有办法用一个字段拉出所有评论(例如......查找({pid:444}))以及与每个评论相关的用户信息?

目前,我首先得到符合我标准的评论,然后找出该结果集中的所有uid,获取用户对象,并将它们与评论的结果合并.好像我做错了.

join mongodb

471
推荐指数
12
解决办法
32万
查看次数

MySQL中JOIN和OUTER JOIN的区别

结果有什么不同:

  1. 正确的加入和正确的外部联接
  2. LEFT JOIN和LEFT OUTER JOIN?

你能通过一些例子解释一下吗?

sql join left-join outer-join right-join

87
推荐指数
4
解决办法
9万
查看次数

具有嵌套连接的PostgreSQL 9.2 row_to_json()

我正在尝试使用row_to_json()PostgreSQL 9.2中添加的函数将查询结果映射到JSON .

我无法找出将连接行表示为嵌套对象的最佳方法(1:1关系)

这是我尝试过的(设置代码:表格,示例数据,然后是查询):

-- some test tables to start out with:
create table role_duties (
    id serial primary key,
    name varchar
);

create table user_roles (
    id serial primary key,
    name varchar,
    description varchar,
    duty_id int, foreign key (duty_id) references role_duties(id)
);

create table users (
    id serial primary key,
    name varchar,
    email varchar,
    user_role_id int, foreign key (user_role_id) references user_roles(id)
);

DO $$
DECLARE duty_id int;
DECLARE role_id int;
begin
insert into role_duties (name) values …
Run Code Online (Sandbox Code Playgroud)

postgresql json postgresql-9.2 scalar-subquery

73
推荐指数
2
解决办法
6万
查看次数

在SQL Server中实现Polymorphic Association的最佳方法是什么?

我有很多实例需要在我的数据库中实现某种多态关联.我总是浪费大量的时间来思考所有的选择.这是我能想到的3.我希望有一个SQL Server的最佳实践.

这是多列方法

多列方法

这是没有外键的方法

没有外键方法

这是基表方法

基表方法

sql-server associations polymorphic-associations database-normalization

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

MYSQL中的规范化

任何人都可以帮助我知道mysql中的规范化是什么,在哪种情况下以及我们如何使用它...

提前致谢.

mysql database-normalization

37
推荐指数
2
解决办法
5万
查看次数

用简单的英语标准化

我理解数据库规范化的概念,但总是很难用简单的英语解释它 - 特别是对于求职面试.我已阅读维基百科帖子,但仍然觉得很难向非开发人员解释这个概念."以不会获得重复数据的方式设计数据库"是首先想到的.

有没有人用简单的英语解释数据库规范化的概念?有什么好的例子可以显示第一,第二和第三范式之间的差异?

假设你去面试并且这个人问: 解释规范化的概念以及如何设计规范化的数据库.

面试官在寻找什么关键点?

sql database terminology database-normalization

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

3NF和BCNF有什么区别?

有人可以向我解释3NF和BCNF之间的区别吗?如果您还可以提供一些示例,那就太棒了.谢谢.

database-design relational-database 3nf database-normalization bcnf

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

索引一个 `unsigned long` 变量并打印结果

昨天,有人给我看了这个代码:

#include <stdio.h>

int main(void)
{
    unsigned long foo = 506097522914230528;
    for (int i = 0; i < sizeof(unsigned long); ++i)
        printf("%u ", *(((unsigned char *) &foo) + i));
    putchar('\n');

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这导致:

0 1 2 3 4 5 6 7
Run Code Online (Sandbox Code Playgroud)

我很困惑,主要是for循环中的行。据我所知,似乎&foo是被强制转换为 anunsigned char *然后被i. 我觉得*(((unsigned char *) &foo) + i)是一个更详细的书写方式((unsigned char *) &foo)[i],但是这使得它看起来像foo,一个unsigned long被索引。如果是这样,为什么?循环的其余部分似乎是典型的打印数组的所有元素,所以一切似乎都表明这是真的。演员unsigned char *阵容让我更加困惑。我试图寻找有关转换的整数类型,以char *对谷歌而言,但我的研究得到了一些后无用的搜索结果停留约铸造int …

c pointers casting char-pointer implementation-defined-behavior

31
推荐指数
2
解决办法
1182
查看次数

Clang 实现 std::function 移动语义背后的推理

libc++的实现中std::function,如果要擦除其类型的函数对象足够小以适合 SBO,则移动操作将复制它,而不是移动它。然而,并不是每个堆栈内存占用较小的对象都适合复制。为什么要复制而不是移动?

使用 Clang 考虑这个示例(使用shared_ptr它是因为它具有引用计数):

https://wandbox.org/permlink/9oOhjigTtOt9A8Nt

中的语义与使用显式副本test1()的语义相同。帮助我们看到这一点。test3()shared_ptr

另一方面,GCC 的行为是合理且可预测的:

https://wandbox.org/permlink/bYUDDr0JFMi8Ord6

两者都是标准允许的。std::function要求函数可复制,移出的对象处于未指定状态,等等。为什么要这么做?同样的推理也适用于std::map:如果键和值都是可复制的,那么为什么不每当有人std::movesa时就制作一个新副本std::map?这也符合标准的要求。

根据cppreference.com 的说法,应该有一个举动,并且应该是目标。

这个例子:

#include <iostream>
#include <memory>
#include <functional>
#include <array>
#include <type_traits>

void test1()
{
    /// Some small tiny type of resource. Also, `shared_ptr` is used because it has a neat
    /// `use_count()` feature that will allow us to see what's going on behind the 'curtains'.
    auto foo …
Run Code Online (Sandbox Code Playgroud)

c++ clang std-function libc++ c++20

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