我有一个字典映射关键字的重复关键字,但我只想要一个不同的单词列表,所以我想计算关键字的数量。是否有一种方法来计算关键字的数量,或者是否有另一种方法我应该寻找不同的单词?
当前回答
一些修改,张贴回答水下克里姆林宫,使其python3证明。下面是一个令人惊讶的结果作为答案。
系统规格:
python = 3.7.4, Conda = 4.8.0 3.6Ghz, 8核,16gb。
import timeit
d = {x: x**2 for x in range(1000)}
#print (d)
print (len(d))
# 1000
print (len(d.keys()))
# 1000
print (timeit.timeit('len({x: x**2 for x in range(1000)})', number=100000)) # 1
print (timeit.timeit('len({x: x**2 for x in range(1000)}.keys())', number=100000)) # 2
结果:
1) = 37.0100378
2) = 37.002148899999995
因此,len(d.s keys())目前似乎比仅使用len()更快。
其他回答
一些修改,张贴回答水下克里姆林宫,使其python3证明。下面是一个令人惊讶的结果作为答案。
系统规格:
python = 3.7.4, Conda = 4.8.0 3.6Ghz, 8核,16gb。
import timeit
d = {x: x**2 for x in range(1000)}
#print (d)
print (len(d))
# 1000
print (len(d.keys()))
# 1000
print (timeit.timeit('len({x: x**2 for x in range(1000)})', number=100000)) # 1
print (timeit.timeit('len({x: x**2 for x in range(1000)}.keys())', number=100000)) # 2
结果:
1) = 37.0100378
2) = 37.002148899999995
因此,len(d.s keys())目前似乎比仅使用len()更快。
不同单词的数量(即字典中条目的数量)可以使用len()函数找到。
> a = {'foo':42, 'bar':69}
> len(a)
2
要获取所有不同的单词(即键),请使用.keys()方法。
> list(a.keys())
['foo', 'bar']
len(yourdict.keys())
或者只是
len(yourdict)
如果你想统计文件中唯一的单词,你可以使用set和do like
len(set(open(yourdictfile).read().split()))
直接在字典上调用len()是有效的,并且比构建迭代器d.s ekeys()并在其上调用len()快,但与程序所做的其他事情相比,这两者的速度都可以忽略不计。
d = {x: x**2 for x in range(1000)}
len(d)
# 1000
len(d.keys())
# 1000
%timeit len(d)
# 41.9 ns ± 0.244 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
%timeit len(d.keys())
# 83.3 ns ± 0.41 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
为了计算字典中关键字的数量:
def dict_finder(dict_finders):
x=input("Enter the thing you want to find: ")
if x in dict_finders:
print("Element found")
else:
print("Nothing found:")
推荐文章
- 将一个列表分成大约相等长度的N个部分
- Python __str__与__unicode__
- 在python中,del和delattr哪个更好?
- 如何动态加载Python类
- 有没有办法在python中做HTTP PUT
- “foo Is None”和“foo == None”之间有什么区别吗?
- 类没有对象成员
- Django模型“没有显式声明app_label”
- 熊猫能自动从CSV文件中读取日期吗?
- 在python中zip的逆函数是什么?
- 有效的方法应用多个过滤器的熊猫数据框架或系列
- 如何检索插入id后插入行在SQLite使用Python?
- 我如何在Django中添加一个CharField占位符?
- 如何在Python中获取当前执行文件的路径?
- 我如何得到“id”后插入到MySQL数据库与Python?