小编Kei*_*ith的帖子

在维护订单的同时用"压缩"列表列表替换列表清单

我有一个列表列表,如我附上的代码.如果有任何常见值,我想链接每个子列表.然后,我想用列表的精简列表替换列表列表.示例: 如果我有一个[[1,2,3],[3,4]]我想要的列表[1,2,3,4].如果我有[[4,3],[1,2,3]]我想要的[4,3,1,2].如果我有[[1,2,3],[a,b],[3,4],[b,c]]我想要[[1,2,3,4],[a,b,c]]或者[[a,b,c],[1,2,3,4]]我不在乎哪一个.

我几乎在那里......

我的问题是,当我有一个像[[1,2,3],[10,5],[3,8,5]]我想要的情况,[1,2,3,10,5,8]但我得到了我当前的代码[1,2,3,8,10,5]

这是我的代码:

import itertools

a = [1,2,3]
b = [3,4]
i = [21,22]
c = [88,7,8]
e = [5,4]
d = [3, 50]
f = [8,9]
g=  [9,10]
h = [20,21]

lst = [a,b,c,i,e,d,f,g,h,a,c,i]*1000  
#I have a lot of list but not very many different lists

def any_overlap(a, b):
  sb = set(b)
  return any(itertools.imap(sb.__contains__, a))

def find_uniq(lst): …
Run Code Online (Sandbox Code Playgroud)

python algorithm python-2.x nested-lists python-itertools

22
推荐指数
2
解决办法
1664
查看次数

2d字典,每个值有多个键

我想我想制作一个每个值有多个键的二维字典.

我知道如何使用defaultdict以下方法制作2d字典:

from collections import defaultdict
2d_dict = defaultdict(dict)

2d_dict['canned_food']['spam'] = 'delicious'
Run Code Online (Sandbox Code Playgroud)

而且我知道使用常规字典可以制作多个键

dictionary={('food','canned_food'):spam}
Run Code Online (Sandbox Code Playgroud)

但我想做的事情如下:

2d_dict[('canned_food','food')]['spam'] = 'delicious'
Run Code Online (Sandbox Code Playgroud)

在字典的第一维中,每个值需要~25个键.有没有办法做到这一点defaultdict

即使有办法用dicts这样做,这是一个合理的方法来制作一个简单的多维查找表吗?

python dictionary key

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

Mysql查询查找一个列的多个条件满足的ID

我将不胜感激任何创建此查询的帮助.我没试过好几种方法.由于我的问题对我来说有点困难,我将简单举例说明我想做什么.我的数据结构与以下内容类似:

ID  TYPE  COLOR
1   A     Blue
1   B     Red
1   C     Green
2   C     Blue 
2   B     Green 
Run Code Online (Sandbox Code Playgroud)

如果我有一个具有两种特定颜色的ID,我想创建一个返回类型的查询.例如,我想找到所有同时具有蓝色和红色的ID.然后查询将返回:

1, A , B 
Run Code Online (Sandbox Code Playgroud)

返回A和B的顺序并不重要.数据集很大,我希望很多ID都符合这两个条件(可能是50,000左右).我应该注意,该类型与颜色无关,因此使问题与其他stackoverflow问题不同,以及这个问题.

我想我需要做某种子查询.但真的不知道该怎么办,谢谢.

mysql sql select

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

带有许多键的2d字典将返回相同的值

我想制作一个每个值有多个键的二维字典.我不想把元组作为一把钥匙.而是使许多键返回相同的值.

我知道如何使用defaultdict创建一个二维字典:

from collections import defaultdict
a_dict = defaultdict(dict)

a_dict['canned_food']['spam'] = 'delicious'
Run Code Online (Sandbox Code Playgroud)

我可以使用一个元组作为一个元组

a_dict['food','canned_food']['spam'] = 'delicious'
Run Code Online (Sandbox Code Playgroud)

但这不允许我做类似的事情

print a_dict['canned_food]['spam']
Run Code Online (Sandbox Code Playgroud)

因为'canned_food'不是关键,元组['food','canned_food']是关键.

我了解到我可以简单地将多个设置为相同的值,如:

a_dict['food']['spam'] = 'delicious'
a_dict['canned_food']['spam'] = 'delicious'
Run Code Online (Sandbox Code Playgroud)

但是这会因为大量按键而变得混乱.在字典的第一维中,每个值需要~25个键.有没有办法写字典,以便元组中的任何键都可以工作?

我以前曾问过这个问题, 但不清楚我想要什么,所以我要重新发布.预先感谢您的任何帮助.

python dictionary python-2.x

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