pycharm oj习题 统计单词,及字典相关知识

统计单词

Problem Description

请使用字典编写一个程序,让用户输入一个英文句子,然后统计每个单词出现的次数。

Input Description

输入一行英文句子

Output Description

以字典的形式(单词为key,单词出现的次数为value)输出每个单词出现的次数

Sample Input

Python python hello 123 123 123

Sample Output

{'python': 2, 'hello': 1, '123': 3}

代码如下:

方法一:

def count_words(sentence):
    # 将句子转换为小写,并分割成单词列表
    words = sentence.lower().split()

    # 创建一个字典来存储单词计数
    word_count = {}

    # 遍历单词列表,统计每个单词出现的次数
    for word in words:
        # 如果单词已经在字典中,增加计数
        if word in word_count:
            word_count[word] += 1
            # 如果单词不在字典中,添加到字典并设置计数为1
        else:
            word_count[word] = 1

            # 返回单词计数字典
    return word_count

# 从用户那里获取输入
sentence = input()

# 调用函数并打印结果
print(count_words(sentence))

方法二:

msg = input()  
# 获取用户输入的字符串,并将其存储在变量msg中。
msg = msg.lower()  
# 将字符串转换为小写,以便不区分单词的大小写。
msg_list = msg.split()  
# 使用split()方法将字符串分割成单词列表,每个单词是列表中的一个元素。
dict_count = {}  
# 初始化一个空字典,用于存储单词及其出现次数。

for m in msg_list: 
 # 遍历单词列表中的每个单词。
    if m not in dict_count:  
     # 如果单词不在字典中。
        dict_count[m] = 1  
          # 将单词添加到字典,并设置其出现次数为1。
    else:  
          # 如果单词已经在字典中。
        dict_count[m] = dict_count[m] + 1  
          # 增加该单词在字典中的出现次数。

print(dict_count)  
# 打印包含单词及其出现次数的字典。

 

字典相关基础知识

在Python中,字典(dictionary)是一种可变的数据结构,它存储了键值对(key-value pairs)的集合。每个键都是唯一的,并与一个值相关联。字典在Python中非常有用,因为它们允许你根据键快速查找、添加、修改和删除值。下面是一些关于Python字典的基础知识:

字典的创建

你可以使用花括号 {} 或者 dict() 函数来创建一个字典。

python复制代码

# 使用花括号创建字典
my_dict = {'key1': 'value1', 'key2': 'value2', 'key3': 3}
# 使用 dict() 函数创建字典
another_dict = dict(key1='value1', key2='value2', key3=3)
# 创建一个空字典
empty_dict = {}

访问字典中的值

你可以通过键来访问字典中的值。

python复制代码

print(my_dict['key1']) # 输出: value1

如果键不存在于字典中,尝试访问它将引发 KeyError。为了避免这种情况,你可以使用 get() 方法,它允许你指定一个默认值。

python复制代码

print(my_dict.get('key4', 'default value')) # 输出: default value

修改字典中的值

你可以通过键来修改字典中的值。

python复制代码

my_dict['key1'] = 'new value'
print(my_dict['key1']) # 输出: new value

向字典中添加键值对

如果键不存在于字典中,给它赋值就会添加一个新的键值对。

python复制代码

my_dict['key4'] = 'value4'
print(my_dict) # 输出: {'key1': 'new value', 'key2': 'value2', 'key3': 3, 'key4': 'value4'}

从字典中删除键值对

你可以使用 del 语句或 pop() 方法来删除字典中的键值对。

python复制代码

del my_dict['key2'] # 删除键值对
print(my_dict) # 输出: {'key1': 'new value', 'key3': 3, 'key4': 'value4'}
value = my_dict.pop('key3') # 删除键值对并返回值
print(value) # 输出: 3
print(my_dict) # 输出: {'key1': 'new value', 'key4': 'value4'}

检查键是否存在于字典中

你可以使用 in 关键字来检查一个键是否存在于字典中。

python复制代码

if 'key1' in my_dict:
print("Key exists.")
else:
print("Key does not exist.") # 不会输出,因为 key1 存在

遍历字典

你可以遍历字典的键、值或键值对。

python复制代码

# 遍历键
for key in my_dict:
print(key)
# 遍历值
for value in my_dict.values():
print(value)
# 遍历键值对
for key, value in my_dict.items():
print(key, value)

字典的长度

你可以使用 len() 函数来获取字典中键值对的数量。

python复制代码

print(len(my_dict)) # 输出字典的长度

字典的方法

字典对象有许多内置方法,例如 keys()values()items()update()clear() 等,它们提供了对字典内容的各种操作。

字典是Python编程中非常强大的工具,掌握它们将使你能够更高效地处理数据。

以上就是Python字典的一些基础知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值