我有一个名为"posts"的SQL表,如下所示:
id | category
-----------------------
1 | 3
2 | 1
3 | 4
4 | 2
5 | 1
6 | 1
7 | 2
Run Code Online (Sandbox Code Playgroud)
每个类别编号对应一个类别.我如何计算每个类别在一个SQL查询中出现在帖子上的次数?
例如,这样的查询可能会返回一个符号数组,如下所示: (1:3, 2:2, 3:1, 4:1)
我当前的方法是对每个可能的类别使用查询,例如:SELECT COUNT(*) AS num FROM posts WHERE category=#
,然后将返回值组合成最终数组.但是,我正在寻找一种只使用一个查询的解决方案.
这是我想要做的.我有两个元组列表.构建一个元素列表,使list1中元组中的第一个元素与列表2中元组中的第一个元素匹配
list1 = [('a', 2), ('b', 3), ('z', 5)]
list2 = [('a', 1), ('b', 2), ('c', 3)]
list3 = ['a','b']
Run Code Online (Sandbox Code Playgroud)
注意:第一个元素不能重复
在查看了python列表推导之后,这就是我所做的
[x[0] for x in list1 if (x[0] in [y[0] for y in list2])]
Run Code Online (Sandbox Code Playgroud)
我的问题是,这是一个有经验的python程序员如何编写这个代码?自己编写了这个,我仍然觉得这很难读.如果不是,你会怎么做呢
我已经为我的/ res/raw目录中的另一个应用程序存储了一个.apk文件,并希望为用户提供安装它的提示.这是我目前的代码:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File("android.resource://" + getPackageName() + "/res/raw/myapk.apk")), "application/vnd.android.package-archive");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
但是,当意图运行时,我得到一个Parse错误: There is a problem parsing the package.
当运行其他应用程序时,.apk文件是由/ bin目录中的eclipse创建的文件.
如何正确完成此程序化本地安装?