spark元组的列表转化为字典

好吧,元组不能转为字典。或者说直接不能转,间接可以。当然元组有格式要求的。

[(key1,value1),(key2,value2),...]

之所以把这个问题抛出来是因为,spark的zipWithIndex本来应返回字典,但却返回了上面这种格式。

当然在spark的环境下它还是可以被当做字典支持的。你可以用lookup函数。

然而,lookup函数式不能传到rdd的一些操作的lambda表达式的,例如:

#一个错误的例子
sholdbedict = sc.parallelize([4,5,6]).zipWithIndex()
sholdbedict.collect()#输出[(4, 0), (5, 1), (6, 2)]
sholdbedict.lookup(6)#也没错
just4test = sc.parallelize([6,4,6])
just4test.map(lambda _: sholdbedict.lookup(_))#返回每个元素的编号,报错了
#结束一个错误的例子

因为lookup不能传到RDD.map函数里。其它的也不行。

时间: 2024-08-23 22:24:14

spark元组的列表转化为字典的相关文章

Python中2维数组/矩阵转化为字典(矩阵中第一列含有重复元素)??

例如将a=[[3,789],[1,100],[1,102],[2,102],[1,106],[2,456]];转化为一个字典b={1:[100,102,102],2:[102,456],3:[789]} 如果用强制转换: 1 >>> a=[[3,789],[1,100],[1,102],[2,102],[1,106],[2,456]]; 2 >>> b=dict(a) 3 >>> b 4 {1: 106, 2: 456, 3: 789} 5 >&

python - 字符串,元组,列表,字典

# -*- coding: utf-8 -*- """ Created on Sat Jan  7 13:55:45 2017 """ #----------------------定义一个字符串--------------------------- str='  abcd    q' print (str) print (str.capitalize()) #去除字符串两个空格 print (str.strip()) #去除字符串左侧的空格 p

Python中list(列表)、tuple(元组)、dict(字典)基本操作快速入门

最近看了一下Python的列表.字典以及元组等几种数据类型,感觉这几种数据类型比较常用,顺便总结了一下一些比较常用的用法. 列表是Python中比较常用的数据类型,并且列表是可以改变的,使用也非常简单,具体操作如下: 1)如创建一个列表: list1 = [1,2,3] list2 = ['a','b','c'] list3 = [1,2,3,'a','b','abc'] list4 = [1,[2,3],['a','b',''c]] #创建一个有序列表 list5 = range(10) #创

[转载]Python 元组、列表、字典、文件

python的元组.列表.字典数据类型是很python(there python is a adjective)的数据结构.这些结构都是经过足够优化后的,所以如果使用好的话,在某些area会有很大的益处. 元组         个人认为就像java的数组,python中的元组有以下特性: 任意对象的有序集合,这条没啥说的,数组的同性: 通过偏移读取: 一旦生成,不可改变: 固定长度,支持嵌套 来例子吧: python 代码 >>> (0, 'haha', (4j, 'y')) (0, '

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

元组、列表、字典的常用方法浅释--python3.5.1版本

一.元组中常用的方法 元组-->tuple(),经常用到的方法有两个 1.count()方法 >>> help(tuple.count) Help on method_descriptor: count(...) T.count(value) -> integer -- return number of occurrences of value 这个方法只向count()的括号里面传入一个参数,会返回一个整数,这个整数就是传入的参数值在元组里出现的次数,如下: >>

python 字符串,元组, 列表,字典之间的转换

#-*-coding:utf-8-*- #1.字典dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'}print type(str(dict)), str(dict) #字典可以转为元组,返回:('age', 'name', 'class')print tuple(dict)#字典可以转为元组,返回:(7,

简明python教程 --C++程序员的视角(四):容器类型(字符串、元组、列表、字典)和参考

数据结构简介 Python定义的类型(或对象)层次结构在概念上可以划分为四种类别:简单类型.容器类型.代码类型 和内部类型. 可以将 PyObject 类之下的所有 Python 类划分为 Python 运行时解释器可以使用的四个主要类别: 简单类型 —— 基本构建块,如 int 和 float. 容器类型—— 保存其他对象. 代码类型—— 封装 Python 程序的元素. 内部类型 —— 程序执行期间使用的类型. 内置的简单类型 Python 有五个内置的简单类型:bool.int.long.

Python字符串、元组、列表、字典互相转换的方法

#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'} print type(str(dict)), str(dict) #字典可以转为元组,返回:('age', 'name', 'class') print tuple(dict) #字典可以转为元组,返回