python自学第8天字典_python自学第8天字典_python自学日记7——字典

学会把复杂问题拆解成自己已经掌握的基础问题才是正确的学习之道

1.编写一个函数,读入words.txt,并将它们作为键保存到一个字典中

后面还有使用in检查某单词是否在字典中,按说这个并不难,先读取单词表,然后通过将单词作为键,值用空字符就可以了,然后代码如下:

def read_dict():

fin=open('words.txt')

words_dict={}

for line in fin:

word=line.split()

words_dict[word]=''

return words_dict

read_dict()

TypeError Traceback (most recent call last)

in

7 words_dict[word]=''

8 return words_dict

----> 9 read_dict()

in read_dict()

5 for line in fin:

6 word=line.split()

----> 7 words_dict[word]=''

8 return words_dict

9 read_dict()

TypeError: unhashable type: 'list'

但是报错了,具体原因也弄不清楚,只能先把循环单独拿出来比对一下

fin=open('words.txt')

for line in fin:

word=line.split()

print(word)

['aa']

['aah']

['aahed']

['aahing']

['aahs']

['aal']

['aalii']

['aaliis']

['aals']

显示的是这样的,我记得前面读取的时候没有中括号,仔细看发现错在word=line.split(),split是做分割用的,本来这里应该用strip去空格的,只凭记忆写的记混了,然后改一下

def read_dict():

fin=open('words.txt')

words_dict={}

for line in fin:

word=line.split()

words_dict[word]=''

return words_dict

read_dict()

这次显示就正常了,如果只到这没下面的检查单词是否在字典中这段代码是没有问题的,但是要检查一个单词是否在字典的键中就需要用到字典,而在函数中字典是局部引用,没法在别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值