获取不包含任何其他元素作为前缀的元素列表的最快(&python)方法。
(元素可以按任何顺序,为了解释清楚起见,元素在这里保持顺序,因此如果需要,必须显式进行排序)
输入是
['AB', 'ABC', 'ABCDEF', 'ABCDEFG', 'BCD', 'DEF', 'DEFGHI', 'EF', 'GKL', 'JKLM']
Run Code Online (Sandbox Code Playgroud)
消除的元素:
'AB' prefix of 'ABC'
'ABC' prefix of 'ABCDEF'
'ABCDEF' prefix OF 'ABCDEFG'
'DEF' prefix of 'DEFGHI'
Run Code Online (Sandbox Code Playgroud)
预期输出
['ABCDEFG', 'BCD', 'DEFGHI', 'EF', 'GKL', 'JKLM']
Run Code Online (Sandbox Code Playgroud)
编辑:
增加一点复杂性(或清晰度)。列表的平均长度从 500 到 900 不等。
假设有以下模型
Class A(): pass
Class B():
i = integer()
aa = foreignkey('A', related_name = 'fka')
Run Code Online (Sandbox Code Playgroud)
为简单起见,假设以下条目,
A() - a1 -> pk = 1
B() - b1 -> i = 1, aa = a1
B() - b2 -> i = 2, aa = a1
B() - b3 -> i = 3, aa = a1
B() - b4 -> i = 4, aa = a1
B() - b5 -> i = 5, aa = a1
Run Code Online (Sandbox Code Playgroud)
我知道,
foo = A.objects.get(pk = 1).prefetch_related('fka')
Run Code Online (Sandbox Code Playgroud)
会给我条目 …
Django 模型是:
class Post(models.Model):
name = models.CharField()
class PostImage(models.Model):
image = models.ImageField()
post = models.ForeignKey(
Post,
related_name=images,
)
Run Code Online (Sandbox Code Playgroud)
序列化器是:
class PostSerialiser(serializers.ModelSerializer):
name = serializers.CharField()
images = serializers.SlugRelatedField(
slug_field='image',
many=True,
read_only=True,
)
class Meta:
model = PostModel
fields = ('name' 'images',)
Run Code Online (Sandbox Code Playgroud)
串行器数据输出为:
[
{
"name": 'Name 1',
"images": [
<ImageFieldFile: 1.jpg>,
<ImageFieldFile: 2.jpg>,
],
},
{
"name": 'Name 2',
"images": [
<ImageFieldFile: 5.jpg>,
],
}
]
Run Code Online (Sandbox Code Playgroud)
但是当尝试获取相同数据的分页响应时,它会因错误而崩溃'ascii' codec can't decode byte 0xff in position 23: ordinal not in range(128)" …
有没有一种方法可以在字典中获取在django表单验证期间生成的表单错误(键为“ field_name”,值作为“与其相关的错误列表”),而不是它生成的默认HTML代码(ul和li组合)。我没有使用生成的HTML代码,只是对字段名和错误感到困扰。
我使用以下代码在 JNI 中使用“ARGB_8888”配置创建位图(仅黑色/灰色图像)。但是当我在 Java 代码中转储位图的内容时,我只能看到配置,而看不到位图中的像素数据。
JNI代码
// Image Details
int imgWidth = 128;
int imgHeight = 128;
int numPix = imgWidth * imgHeight;
// Creaing Bitmap Config Class
jclass bmpCfgCls = env->FindClass("android/graphics/Bitmap$Config");
jmethodID bmpClsValueOfMid = env->GetStaticMethodID(bmpCfgCls, "valueOf", "(Ljava/lang/String;)Landroid/graphics/Bitmap$Config;");
jobject jBmpCfg = env->CallStaticObjectMethod(bmpCfgCls, bmpClsValueOfMid, env->NewStringUTF("ARGB_8888"));
// Creating a Bitmap Class
jclass bmpCls = env->FindClass("android/graphics/Bitmap");
jmethodID createBitmapMid = env->GetStaticMethodID(bmpCls, "createBitmap", "(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;");
jBmpObj = env->CallStaticObjectMethod(bmpCls, createBitmapMid, imgWidth, imgHeight, jBmpCfg);
// Creating Pixel Data
int triplicateLen = numPix * 4;
char *tripPixData = (char*)malloc(triplicateLen); …Run Code Online (Sandbox Code Playgroud) 已经提出了这个问题,提出的解决方案是使用'bind'.但是如何在这种情况下使用'bind'?
var Fun = function(){
this.count = 100;
}
Fun.prototype.f = function(){
console.log("in f : " + this.count);
}
Fun.prototype.g = {
f : function(){
console.log("in g-f : " + this.count);
// Is it possible to use 'bind' here to access 'this' of 'Fun'
}
}
fun = new Fun();
fun.f(); // Results - in f : 100
fun.g.f(); // Results - in g-f : undefined
fun.g.f.bind(fun)(); // Results - in f : 100
Run Code Online (Sandbox Code Playgroud)
是否有可能使用bind在g.f这样fun.g.f() …
django ×3
python ×2
android ×1
android-ndk ×1
c ×1
c++ ×1
django-forms ×1
javascript ×1
prototype ×1
this ×1