小编elf*_*go1的帖子

找到两个嵌套列表的交集?

我知道如何获得两个平面列表的交集:

b1 = [1,2,3,4,5,9,11,15]
b2 = [4,5,6,7,8]
b3 = [val for val in b1 if val in b2]
Run Code Online (Sandbox Code Playgroud)

要么

def intersect(a, b):
    return list(set(a) & set(b))

print intersect(b1, b2)
Run Code Online (Sandbox Code Playgroud)

但是当我必须找到嵌套列表的交集时,我的问题就开始了:

c1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63]
c2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]
Run Code Online (Sandbox Code Playgroud)

最后我想收到:

c3 = [[13,32],[7,13,28],[1,6]]
Run Code Online (Sandbox Code Playgroud)

你能帮我个忙吗?

有关

python intersection list

468
推荐指数
10
解决办法
60万
查看次数

如何在Python中将字符串转换为整数?

我有一个来自MySQL查询的元组元组,如下所示:

T1 = (('13', '17', '18', '21', '32'),
      ('07', '11', '13', '14', '28'),
      ('01', '05', '06', '08', '15', '16'))
Run Code Online (Sandbox Code Playgroud)

我想将所有字符串元素转换为整数并将它们放回列表列表中:

T2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]
Run Code Online (Sandbox Code Playgroud)

我试图实现它,eval但没有得到任何体面的结果.

python string integer

427
推荐指数
7
解决办法
163万
查看次数

将元组列表转换为字典

我正在寻找一种方法来转换像这样的元组列表:

[(1,4),(2,4),(3,4),(4,15),(5,15),(6,23),(7,23),(8,23),(9,15),(10,23),(11,15),(12,15)]
Run Code Online (Sandbox Code Playgroud)

进入这样的字典:

{4:[1,2,3] ,15:[4,5,9,11,12], 23:[6,7,8,10]}
Run Code Online (Sandbox Code Playgroud)

来自每个元组的第二个元素变为字典键,并且与该键相关联的所有第一元组元素都存储在值列表中.

你能告诉我怎么做吗?

python dictionary list

32
推荐指数
2
解决办法
4万
查看次数

Python - 列表转换

有谁知道我必须使用什么魔法来改变x列表:

x = [1,2,3,4,5,11]

进入y列表?

y = ['01','02','03','04','05','11']

谢谢大家提前帮助我......

python list

27
推荐指数
3
解决办法
3万
查看次数

从Python中的列表列表中删除重复项

如果想要根据每个嵌套列表的第一个元素评估重复项,是否有人可以建议一个很好的解决方案来从嵌套列表中删除重复项?

主要列表如下所示:

L = [['14', '65', 76], ['2', '5', 6], ['7', '12', 33], ['14', '22', 46]]
Run Code Online (Sandbox Code Playgroud)

如果在第一个位置存在另一个[k][0]已经发生相同元素的列表,那么我想删除该列表并得到以下结果:

L = [['14', '65', 76], ['2', '5', 6], ['7', '12', 33]]
Run Code Online (Sandbox Code Playgroud)

你能建议一种算法来实现这个目标吗?

python list

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

Python - 如何计算两个字典的相等部分?

我在组合或计算这两个词典的共同/相等部分时遇到问题.在我的词典中,值列表:

d1 = {0:['11','18','25','38'], 
      1:['11','18','25','38'], 
      2:['11','18','25','38'], 
      3:['11','18','25','38']}

d2 = {0:['05','08','11','13','16','25','34','38','40', '43'], 
      1:['05', '08', '09','13','15','20','32','36','38', '40','41'], 
      2:['02', '08', '11', '13', '18', '20', '22','33','36','39'], 
      3:['06', '11', '12', '25', '26', '27', '28', '30', '31', '37']}
Run Code Online (Sandbox Code Playgroud)

我想检查"d2"并知道"d1"中是否有数字.如果有一些,我想用新数据更新其中一个或接收第三个字典"d3",只有"d1"和"d2"中相同/相等的值,如:

d3 = {0:['11','25','38'], 1:['38'], 2:['11','18'], 3:['11','25']} 
Run Code Online (Sandbox Code Playgroud)

谁能帮我这个?

我的错,我忘了更具体.我在寻找Python的解决方案.

python merge dictionary list

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

PYTHON:使用python变量更新MULTIPLE COLUMNS

我正在尝试编写一个有效的mysql语句,它允许我使用作为python变量提供的值更新一个记录中的多个列.

我的陈述如下:

db = MySQLdb.connect(host="localhost", user="user", passwd="password", db="dbname")
cursor = db.cursor()
sql_update = "UPDATE table_name SET field1=%s, field2=%s, field3=%s, field4=%s, field5=%s, field6=%s, field7=%s, field8=%s, field9=%s, field10=%s WHERE id=%s" % (var1, var2, var3, var4, var5, var6, var7, var8, var9, var10, id)
cursor.execute(sql_update)
cursor.close ()
db.commit()
db.close()
Run Code Online (Sandbox Code Playgroud)

在尝试执行查询时,我不断收到SQL语法中存在错误的信息.我找不到它.有人可以指出我的错误或告诉我应该如何写?

python mysql variables

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

PHP:根据另一个数组的值将数组拆分为不同大小的块

有没有一种巧妙的方法可以根据另一个数组的长度将数组拆分成块?

$start = range(0,30);
$length = array(3,7,2,12,6);

$target = array([0]=>array(0,1,2),
                [1]=>array(4,5,6,7,8,9,10),
                [2]=>array(11,12),
                [3]=>array(13,14,15,16,17,18,19,20,21,22,23,24),
                [4]=>array(25,26,27,28,29,30));
Run Code Online (Sandbox Code Playgroud)

php arrays split

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

PHP:str_replace的问题

我注意到str_replace函数的一个奇怪的行为.你能告诉我为什么在no_2中取而代之的是3 我得到no_4

情况如下:

$pattern = array(1,2,3);
$change = array(1,3,4); 
$sql = "SELECT * FROM %s WHERE no_1 IN (%s) AND no_2 IN (%s) AND no_3 IN (%s)";

$test_multiply[] = str_replace($pattern, $change, $sql);
Run Code Online (Sandbox Code Playgroud)

这使:

Array ( [0] => SELECT * FROM %s WHERE no_1 IN (%s) AND no_4 IN (%s) AND no_4 IN (%s) ) 
Run Code Online (Sandbox Code Playgroud)

你能告诉我怎么办才能收到no_3而不是no_2?

php arrays replace str-replace

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