1. python3返回字典里出现最多的一个数
你写了那么多, 其实就是
#dict为内建函数,不建议作为变量名
deff(d):
returnmax(d.values())
这里返回的只是年份的最大值
2. 如何使用python的字典功能去完成如下功能
import re
read_user_results(usr):
key_list = ['mark','comment']
f = open('result_file.txt','r')
#search user
while(True):
if not l: break
l = f.readline().replace('\n','')
if l == usr: break
d = {}
while(True):
if not l: break
l = f.readline().replace('\n','')
if l not in key_list: break
for k in key_list:
t = re.match(k+' (.*):(.*)',l).groups()
d[k] = dict(t)
return tuple(d.values())
3. python输出字典的问题
count.pop(tempKey) 这句不对
你把count清空了
把"count.pop(tempKey)"这一句去掉就应该OK了
dict.pop的用法如下
pop(key[, default])
If key is in the dictionary, remove it and return its value, else return default. If default is not given and key is not in the dictionary, a KeyError is raised.
PS: 其实有更简单的办法
seq = ['a', 'hello', 'hello', 'hello', 'hello', 'hello', 'hello', 'world', 'z', 'world', 'world', 'z']
keySet = set(seq)
temp = [(a, seq.count(a)) for a in keySet]
temp.sort(lambda x,y: cmp(x[1],y[1]))
4. python多重字典返回
为啥用字典去表示呢。。。无穷嵌套了
用class去表示节点node,然后left,right,index,value都做为属性。
然后所有节点按照前/中/后序遍历放进list中~
5. python 字典的问题
题主你好,
写在前面: 我先给题主举个例子, 我先定义一个字典:
dict03 = {1:3, 5:7}
可以看出上面这个字典有两个元素, 此时我们使用dict03.values()得到的结果为:
dict_values([3,7])
从上面这个结果可以看出, 字典的values方法,会将字典中的所有键值对的值生成一个列表, 作为dict_values()参数,并返回.
-----
上面没有讲到重点,只是作了一个引, 下面看到底问题出在哪了.
题主定义的dict03={0:[1,3,5,7]}, 这个字典, 其实只有一个键值对, 键是整数0,值是列表[1,3,5,7], 所以此时dict03.value()返回的值为 dict_values([[1,3,5,7]]), 重点就在这里, 注意,返回的是:
dict_values( [[ 1,3,5,7 ]] )
而不是
dict_values( [ 1,3,5,7 ] )
抛开前面这个dict_values, 也就是返回的是:
[[1,3,5,7]] 而不是 [1,3,5,7]
前者是含有一个元素的列表, 只不过这个元素本身也是一个列表;
后者是含有4个元素的列表, 每个元素都是整型数字;
而 x in y 这种形式中, 是看x是否存在于y中,
拿题主的代码来说, 其实 i in dict03.values() 翻译过来是:
5 in [[1,3,5,7]], 因为[[1,3,5,7]]这个列表就一个元素,为[1,3,5,7],所以5并不在[[1,3,5,7]]中,
如果翻译过来是:
5 in [1,3,5,7],那么我们得到的结果肯定是True, 因为[1,3,5,7]中有4个元素,而5恰在其中.
所以解决方法也就有了, 想办法去掉[[1,3,5,7]]最外层的[].
代码及测试截图如下:
上图中, 第一个红框是将dict_values([[1,3,5,7]])转换成 [[1,3,5,7]];
第二个红框是将[[1,3,5,7]]转换成[1,3,5,7];
此时最后一句print(5 in [1,3,5,7]) 也就得到了我们想要的结果True了.
-----
希望可以帮到题主, 欢迎追问.
6. Python 中使用字典时出现returned exit code 0 是什么意思
一般来讲, 返回值是0表示没有错误的执行结束. 返回值是通知调用者或操作系统的, 你这个是在某个编辑器里执行的结果吧? 表示正确地执行到程序的结尾都是OK的
7. python 字典问题
首先,你这个for循环体中的if结构,它的两个分支都包含了return,那么,无论if的表达式是真还是假,都会return。
那么,就是说,这个for第一次循环就必然会遇到一个return。
所以,不会循环第二次,也就不会匹配到字典中value为'2009'的那一条了。
实际上的运行过程中,第一次key为'172.29.92.160',与host不能匹配,执行了returnprint('Nonevalue!')这一句。
这里,print('Nonevalue!')会产生一个输出行,内容为'Nonevalue!';
然后return的是print()的结果,而print()是没有返回值或者说返回值是None,因此,这个conportnum()的返回值就是None
所以你看到了两行输出,第一行是函数中print()语句产生的输出,第二行是函数conportnum()的结果值。
你这个函数的功能就是从字典中寻找key为指定值的项,可以这样做:
portnum={"172.29.92.160":'2010',
"172.29.92.159":'2009',
}
port=portnum.get('172.29.92.159')
ifnotport:
#没有匹配项
else:
#对应端口在port中
如果有默认端口,匹配不到则使用的默认端口的话:
DEFAULT_PORT='8080'
portnum={"172.29.92.160":'2010',
"172.29.92.159":'2009',
}
port=portnum.get('172.29.92.159',DEFAULT_PORT)
#对应端口在port中
8. python写一个函数,函数可以支持接收任意内容(关键字传参)并返回字典
#函数传递参数
def func_args( *vartuple ):
args = []
#任何传入的参数都加入列表
for var in vartuple:
args.append(var)
return args
a = func_args("123","abc","ABC","000")
print(a)
9. Python 返回字典报错 x是一个字典,如果我用返回就会报错,而用打印就正常输出,为什么呢
return是用于函数返回值用的,你只有一个for循环,没有函数,所以就报错了。
10. Python之字典排序,这篇文章里,return的东西有点看不懂
return [value for key, value in items] #返回一个“由字典项的值组成的列表[]
比如字典items是{ 'a':0, 'b':1, 'c':2}
将返回[0,1,2]
return [adict[key] for key in keys] #将以字典keys的键作为字典adict的键,返回一个“由字典adict的值组成的列表[]
比如keys为{ 'a':0, 'b':1, 'c':2},adict为{ 'a':3, 'b':4, 'c':5}
将返回[3, 4, 5]
return map(adict.get,keys) #函数映射,把keys的键值逐个映射到adict.get函数,即用keys的键求adict的值,返回到一个遍历器。
执行list(map(adict.get,keys))得到[3,4,5] 顺序或有不同