‘壹’ python中map()问题
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
你传入的 '12345'字符串也是属于列表。每个元素就是 ['1','2','3','4','5']
所以第一个输出的无可厚非。
第二个报错其实原因就是因为你的digits里面没有'1'这个key,所以会报错。
根本不会出现'12345'这个key的。如果想出现,就把代码修改下
defchar(s):
digits={'0':0,'12345':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
returndigits[s]
list(map(char,['12345','2','3','4','5']))
‘贰’ python怎么构建hash map
字典
python里的字典就像java里的HashMap,以键值对的方式存在并操作,其特点如下
通过键来存取,而非偏移量;
键值对是无序的;
键和值可以是任意对象;
长度可变,任意嵌套;
在字典里,不能再有序列操作,虽然字典在某些方面与列表类似,但不要把列表套在字典上
点击(此处)折叠或打开
#coding:utf-8
#!/usr/bin/python
# Filename: map.py
table = {'abc':1, 'def':2, 'ghi':3}
print table
#字典反转
map=dict([(v,k) for k, v in table.iteritems()])
#字典遍历
for key in map.keys():
print key,":",map[key]
print len(map)
print map.keys()
print map.values()
#字典的增,删,改,查
#在这里需要来一句,对于字典的扩充,只需定义一个新的键值对即可,
#而对于列表,就只能用append方法或分片赋值。
map[4]="xyz"
print map
del map[4]
print map
map[3]="update"
print map
if map.has_key(1):
print "1 key in"
{'abc': 1, 'ghi': 3, 'def': 2}
1 : abc
2 : def
3 : ghi
3
[1, 2, 3]
['abc', 'def', 'ghi']
{1: 'abc', 2: 'def', 3: 'ghi', 4: 'xyz'}
{1: 'abc', 2: 'def', 3: 'ghi'}
{1: 'abc', 2: 'def', 3: 'update'}
1 key in
‘叁’ python中使用map()和直接使用list()有啥不一样啊
python2 区别不大,python3 map() 返回的是迭代器。
‘肆’ python中map函数
map在python2返回list,在python3返回iterator.
如果想在python3得到可以反复重用的list,只要把iterator转成list即可:
lst_result=list(map(func,items))
‘伍’ python中map对字典怎么用
1、示例代码
amw = {1: 1, 2: 2, 3: 3, 4: 4}
bmw = map(int, amw)
print(map(int,{1:2,2:3,3:4}))
print(bmw)
2、实例结果
<map object at 0x000002D2F6CDA070>
<map object at 0x000002D2F6CDA0A0>
‘陆’ python map()函数问题
不知道你的dataSet 是什么数据,是否是从数据库取出来的结果游标,
如果是的 那么dataSet 只能用一次,用空之后它就为空了
检测方法
D = map(set,dataSet)
print dataSet #看看这里的 dataSet 是否为空了
如果是以上说的情况 很容易解决
操作之前 给 给个变量 接纳一哈 这个结果集
tmp = dateSet
D = map(set,tmp)
print len(list(D))
print len(list(D))
‘柒’ 求python的map函数
_tabkeys = map(int,tabkeys[1:_len])
相当于_tabkeys[0] = int(tabkeys[1])
.... _tabkeys[i] = int(tabkeys[i+1])
这不正是你要的?
例子:
>>> tabkeys=['1','2','3']
>>> _len = len(tabkeys)
>>> _tabkeys = map(int,tabkeys[1:_len])
>>> _tabkeys
[2, 3]
>>> _tabkeys[0]
2
>>> tabkeys[1]
'2'
>>>
如果这不是你想要的,请举例说明什么是想要的结果。
‘捌’ python map问题
map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。
举例说明,比如我们有一个函数f(x)=x%2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()实现
#使用lambda函数
>>> print map(lambda x: x % 2, range(7))
[0, 1, 0, 1, 0, 1, 0]
一个最简单的例子,如基于f(x) = x²,map()作用于list [1, 2, 3, 4, 5, 6, 7, 8, 9]后的结果如下:返回结果仍为list
‘玖’ Python3,map()问题
print (''.join(s for c in map(chr,a)))
中的s改成c
print (''.join(c for c in map(chr,a)))
c才是从map中迭代的字符,s是空字串,多个空字串join还是空的
‘拾’ python中flatmap和map的区别
map( ):接收一个函数,应用到RDD中的每个元素,然后为每一条输入返回一个对象。
flatMap( ):接收一个函数,应用到RDD中的每个元素,返回一个包含可迭代的类型(如list等)的RDD,可以理解为先Map(),后flat().