- 统计字符串中每个单词出现的次数
题目描述:
给定一个字符串,统计其中每个单词出现的次数,并按照出现次数从高到低输出单词和对应的出现次数。
示例:
输入:str = "Python is a powerful and easy-to-learn language that has become a popular choice among developers."
输出: and: 1 a: 1 that: 1 among: 1 become: 1 choice: 1 developers.: 1 easy-to-learn: 1 has: 1 is: 1 language: 1 popular: 1 powerful: 1 Python: 1 : 5
str = "Python is a powerful and easy-to-learn language that has become a popular choice among developers."
words = str.split()
freq = {} # 定义一个字典,记录每个单词出现的次数
for word in words:
if word in freq.keys():
freq[word] += 1
else:
freq[word] = 1
# 将字典按照值(即出现次数)从高到低排序
sorted_freq = dict(sorted(freq.items(), key=lambda item: item[1], reverse=True))
# 输出每个单词和对应的出现次数
for word in sorted_freq:
print(word, ':', sorted_freq[word])
- 判断一个整数是否为回文数
题目描述:
给定一个整数,判断它是否为回文数。回文数指正读和反读都相同的整数。
示例:
输入:12321
输出:True
输入:12345
输出:False
代码实现:
num = int(input("请输入一个整数:"))
# 将整数转化为字符串,便于翻转
str_num = str(num)
reversed_str_num = str_num[::-1]
if str_num == reversed_str_num:
print("True")
else:
print("False")
- 将一个列表中的元素按照指定顺序排列
题目描述:
给定一个列表和一个规则,将列表中的元素按照规则排序。规则包括两个部分:首先按照元素的长度从短到长排序,若长度相同,则按照字典序从小到大排序。
示例:
输入:lst = ['python', 'c', 'java', 'php', 'javascript']
输出:['c', 'php', 'java', 'python', 'javascript']
代码实现:
lst = ['python', 'c', 'java', 'php', 'javascript']
# 自定义排序规则(首先按照长度从小到大排序,若长度相同,则按照字典序从小到大排序)
def my_sort(elem):
return len(elem), elem
sorted_lst = sorted(lst, key=my_sort)
print(sorted_lst)