第九章 字典

习题9.1 编写一个程序,读取words.txt文件中的单词,将他们作为键存储在字典中,此时不需要关心键对应的值,然后,使用in操作符快速判断某一字符是否存在于字典中。

fname = raw_input('Please enter file name:')
fhand = open(fname)
words = dict()


for line in fhand:
    wordlist = line.split()
    for word in wordlist:
        if word not in words:
            words[word] = 1
        else:
            words[word] = words[word] + 1


print words

#print 'writing' in words
if 'what' in words:
    print '\'what\' is in dictionary'
else:
    print '\'what\' is not in dictionary'

### 关于 Python 字典的学习引导 #### 什么是字典字典是一种可变容器模型,用于存储无序的数据集合。它由键值对组成,其中键(key)必须是不可变类型(如字符串、数字或元组),而值(value)可以是任意数据类型[^1]。 #### 如何创建字典? 可以通过大括号 `{}` 或者 `dict()` 构造函数来创建字典: ```python # 使用大括号 {} my_dict = {'Name': 'Alice', 'Age': 25} # 使用 dict() 函数 another_dict = dict(Name='Bob', Age=30) ``` #### 访问字典中的元素 通过键访问对应的值,语法如下:`dictionary[key]`。 如果尝试访问不存在的键,则会抛出 KeyError 错误。为了避免这种情况,可以使用 `.get()` 方法[^1]。 ```python >>> my_dict = {'Name': 'Alice', 'Age': 25} >>> print(my_dict['Name']) Alice >>> print(my_dict.get('Gender')) # 如果键不存在,返回 None 而不报错 None ``` #### 修改添加字典元素 可以直接赋值给指定的键以修改其对应值;对于新键,同样可以用这种方式添加新的键值对[^1]。 ```python >>> my_dict = {'Name': 'Alice', 'Age': 25} >>> my_dict['Age'] = 26 # 修改已有键的值 >>> my_dict['Gender'] = 'Female' # 添加新键值对 >>> print(my_dict) {'Name': 'Alice', 'Age': 26, 'Gender': 'Female'} ``` #### 删除字典中的元素 有多种方法可以从字典中删除元素,比如 `del` `.pop()` 方法[^1]。 ```python >>> my_dict = {'Name': 'Alice', 'Age': 25, 'Gender': 'Female'} >>> del my_dict['Age'] # 删除特定键 >>> removed_value = my_dict.pop('Gender') # 移除并返回该键的值 >>> print(removed_value) Female >>> print(my_dict) {'Name': 'Alice'} ``` #### 遍历字典 可以遍历字典的所有键、值或者键值对。 ```python for key in my_dict.keys(): print(key) for value in my_dict.values(): print(value) for key, value in my_dict.items(): print(f"{key}: {value}") ``` #### 字典推导式 类似于列表推导式,也可以利用字典推导式快速构建复杂的字典结构[^2]。 ```python squares = {x: x**2 for x in range(6)} print(squares) # 输出: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25} ``` #### 学习资源推荐 在头歌平台上学习第七章关于字典的内容时,建议关注以下几个方面: - **基础概念**: 掌握如何定义、初始化以及基本的操作方式。 - **高级应用**: 尝试理解嵌套字典的概念及其实际应用场景。 - **练习题目**: 完成平台上的配套练习题巩固所学知识点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值