标签: keyvaluepair

为什么KeyValuePair <int,long> 16个字节?

KeyValuePair<int, int>:    8 bytes
KeyValuePair<long, long>: 16 bytes
KeyValuePair<long, int>:  16 bytes (!!)
KeyValuePair<int, long>:  16 bytes (!!)
Run Code Online (Sandbox Code Playgroud)

我希望后两对只需要8 (long) + 4 (int)= 12个字节.为什么他们占16?

使用通过ILGenerator发出的动态SizeOf确定大小,如下所述:通用结构的大小

c# struct sizeof keyvaluepair

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

Spark:RDD.map/mapToPair如何与Java一起使用

我有一些对CW(整数I,串词)数的出现次数的单词在文本文件中.

我想简单地为每对配对一个带有1个固定数字的新对c1(整数i,1).

这似乎是微不足道的,但我还没有理解map/mapToPair函数实际上是如何工作的.

JavaPairRDD<Integer, Integer> c1 = cw.map(??? -> new Tuple2<Integer, Integer>(??, 1));
Run Code Online (Sandbox Code Playgroud)

我正在使用Java-8.

java tuples keyvaluepair apache-spark rdd

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

如何在python中解压键值对?

我正在尝试在 python 中探索 Algorithmia 图像标记器。

client.algo("deeplearning/IllustrationTagger/0.2.5")
client.algo("deeplearning/InceptionNet/1.0.3")
Run Code Online (Sandbox Code Playgroud)

但这与这个问题不太相关,因为它通常适用于字典。

for dict in dictList:
    print(dict)
Run Code Online (Sandbox Code Playgroud)

这是输出:

//{'安全':0.9950032234191896}

//{'有问题':0.004409242421388626}

//{'显式':0.00011681715113809332}

我可以很好地访问密钥:

for dict in dictList:
    for key in dict:
        print(key)
Run Code Online (Sandbox Code Playgroud)

//安全的

//可疑的

//显式

但是当我试图解压密钥和值时:

for dict in dictList:
    for key, value in dict:
        print(key)
        print(value)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

对于键,字典中的值:
ValueError:要解压的值太多(预期为 2)

如何访问键和值?

编辑:我已将 obj 和数组重命名为 dict 和 list 以免与 Javascript 符号混淆。

python dictionary object key-value keyvaluepair

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

字典:无法将属性或索引器分配给:它是只读的

我正在尝试更改字典中 Keys 的值,如下所示:

//This part loads the data in the iterator
List<Recommendations> iterator = LoadBooks().ToList();
//This part adds the data to a list 
List<Recommendations> list = new List<Recommendations>();

        foreach (var item in iterator.Take(100))
        {
            list.Add(item);
        }
        //This part adds Key and List as key pair value to the Dictionary
        if (!SuggestedDictionary.ContainsKey(bkName))
        {
            SuggestedDictionary.Add(bkName, list);

        }
       //This part loops over the dictionary contents 
  for (int i = 0; i < 10; i++)
        {
            foreach (var entry in SuggestedDictionary)
            {
                rec.Add(new Recommendations() …
Run Code Online (Sandbox Code Playgroud)

c# setter dictionary key keyvaluepair

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

按值从 KeyValuePair 列表中删除重复项

KeyValuePair我有一个C# 格式的列表,格式为KeyValuePair<long, Point>. 我想从列表中删除具有重复值的项目。

具有坐标的 Point 对象{X,Y}

样本数据:

List<KeyValuePair<long, Point>> Data= new List<KeyValuePair<long,Point>>();
Data.Add(new KeyValuePair<long,Point>(1,new Point(10,10)));
Data.Add(new KeyValuePair<long,Point>(2,new Point(10,10)));
Data.Add(new KeyValuePair<long,Point>(3,new Point(10,15)));
Run Code Online (Sandbox Code Playgroud)

期望的输出:

1,(10,10)    
3,(10,15)
Run Code Online (Sandbox Code Playgroud)

c# keyvaluepair

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

Lua用于访问表的键/值对的C接口是什么?

在Lua中,使用C接口,给定一个表,如何遍历表的键/值对?

另外,如果使用数组添加了一些表表成员,我是否需要一个单独的循环来迭代这些成员,或者是否有一种方法可以同时迭代这些成员作为键/值对?

c lua interface key-value keyvaluepair

3
推荐指数
2
解决办法
4872
查看次数

从Linq编译的查询返回KeyValuePair

我刚刚接触到Linq中的Compiled Queries,并且遇到了一些奇怪的行为.

此查询编译正常:

public static Func<DataContext, string, object> GetJourneyByUrl =
    CompiledQuery.Compile<DataContext, string, object>((DataContext dc, string urlSlug) =>
        from j in dc.Journeys
        where !j.Deleted
        where j.URLSlug.Equals(urlSlug)
        select new KeyValuePair<string, int>(j.URLSlug, j.JourneyId)
    );
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将返回类型从对象更改为KeyValuePair时,如下所示:

public static Func<DataContext, string, KeyValuePair<string, int>> GetJourneyByUrl =
    CompiledQuery.Compile<DataContext, string, KeyValuePair<string, int>>((DataContext dc, string urlSlug) =>
        from j in dc.Journeys
        where !j.Deleted
        where j.URLSlug.Equals(urlSlug)
        select new KeyValuePair<string, int>(j.URLSlug, j.JourneyId)
    );
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

CS1662:无法将lambda表达式转换为委托类型'System.Func <DataContext,string,System.Collections.Generic.KeyValuePair <string,int >>',因为块中的某些返回类型不能隐式转换为委托返回类型

如何KeyValuePair从编译的查询中返回单个?或者我完全以错误的方式解决这个问题?

c# linq compiled-query keyvaluepair

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

正则表达式提取由空格分隔的键值对,值为空格

假设具有多个连续键值对的单行字符串,由空格分隔,但也允许在值内(不在键中)允许空格,例如

key1=one two three key2=four key3=five six key4=seven eight nine ten
Run Code Online (Sandbox Code Playgroud)

从上面正确提取键值对将产生以下映射:

"key1", "one two"
"key2", "four"
"key3", "five six"
"key4", "seven eight nine ten"
Run Code Online (Sandbox Code Playgroud)

其中"keyX"可以是任何字符序列,不包括空格.

尝试一些简单的事情,比如

([^=]+=[^=]+)+
Run Code Online (Sandbox Code Playgroud)

或类似的变化是不够的.

是否有正则表达式来完全处理这种提取,没有任何进一步的字符串处理?

java regex key-value keyvaluepair

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

如何从单个函数返回多列表<>值?

尝试从单个函数返回2个List值

我正在使用此代码: -

public KeyValuePair<int, int> encrypt(string password)
    {
        List<int> key = new List<int>();
        List<int> code = new List<int>();
        /*
           do stuff, do some more stuff and go!
        */

        return new KeyValuePair<List<int>,List<int>>(key,code);
    }
Run Code Online (Sandbox Code Playgroud)

这里我试图返回2个List<int>值但发生错误.如何从单个函数返回2个列表值

UPDATE

答案是找到的,我们得到了2个正确的答案,这就是为什么我不只是选择一个因为两个工作都很好

HadiRj回答

通过Enigmativity回答

如果你想使用我的代码,那么这是它的正确版本: -

public KeyValuePair<List<int>, List<int>> encrypt(string password)
    {
        List<int> key = new List<int>();
        List<int> code = new List<int>();
        /*
           do stuff, do some more stuff and go!
        */

        return new KeyValuePair<List<int>,List<int>>(key,code);
    }
Run Code Online (Sandbox Code Playgroud)

c# function list keyvaluepair

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

jQuery-从数组对象获取值

我有一个看起来像这样的对象数组

var result = [{"id":"1","price":"20.46"},{"id":"2","price":"40.00"}]
Run Code Online (Sandbox Code Playgroud)

现在我可以通过

result[0].price 
Run Code Online (Sandbox Code Playgroud)

但是我想做的是遍历对象数组,然后将id与用户输入的id进行比较并返回匹配值。因此索引应该是不相关的

我试图遍历对象数组,但是我可能在语法上犯了一些错误,却一无所获。

var userinputid = 1;

result.forEach(function(){
     if(userinputid == result.id){
     alert(result.price);
  });
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题。

javascript arrays jquery object keyvaluepair

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