我想找到一组能满足某些条件的数字。例如,查找字典中可能存在的一组单词:
testlist = "I like sunny and I like cloudy"
testlist1 = testlist.split()
dictionary = {'like': 'love'}
显然,1和5可以满足要求,但在不同位置打印将显示不同的结果。如果位置在左侧,则仅显示一个数字:
for i in range(len(testlist1)):
if testlist1[i] in list(dictionary.keys()):
print(i)
print(i)
即:
1
5
6
如果我添加一个参数,结果将不同:
for i in range(len(testlist1)):
if testlist1[i] in list(dictionary.keys()):
m = i
print(m)
print(m)
即:
1
5
5
1和5怎么可能在列表中?
['1', '5']
多谢各位
3条答案
按热度按时间jvidinwx1#
Python式的方法:
请注意,您可以直接迭代列表(
for x in teslist1
)或使用enumerate
并行迭代索引和元素。此外,字典也有O(1)
,名单上有O(N)
成员资格测试。因此,通过将字典转换为列表,您只不过是为了减少性能而更加冗长而已。如果要收集索引,请使用条件理解:
ddrv8njm2#
z9zf31ra3#
你为什么有最后一张照片?
在此代码中
打印1和5,循环结束后打印我得到的最后一个值,即6
在此代码中
再次打印1和5,循环完成后,打印m得到的最后一个值,即5。