我知道如何获得两个平面列表的交集:
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)
你能帮我个忙吗?
我有一个来自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但没有得到任何体面的结果.
我正在寻找一种方法来转换像这样的元组列表:
[(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)
来自每个元组的第二个元素变为字典键,并且与该键相关联的所有第一元组元素都存储在值列表中.
你能告诉我怎么做吗?
有谁知道我必须使用什么魔法来改变x列表:
x = [1,2,3,4,5,11]
进入y列表?
y = ['01','02','03','04','05','11']
谢谢大家提前帮助我......
如果想要根据每个嵌套列表的第一个元素评估重复项,是否有人可以建议一个很好的解决方案来从嵌套列表中删除重复项?
主要列表如下所示:
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)
你能建议一种算法来实现这个目标吗?
我在组合或计算这两个词典的共同/相等部分时遇到问题.在我的词典中,值列表:
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的解决方案.
我正在尝试编写一个有效的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语法中存在错误的信息.我找不到它.有人可以指出我的错误或告诉我应该如何写?
有没有一种巧妙的方法可以根据另一个数组的长度将数组拆分成块?
$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) 我注意到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?
python ×7
list ×5
arrays ×2
dictionary ×2
php ×2
integer ×1
intersection ×1
merge ×1
mysql ×1
replace ×1
split ×1
str-replace ×1
string ×1
variables ×1