读取文件,提取所有的单词,按照单词中数字的大小降序排序
时间: 2024-10-07 14:07:09 浏览: 33
为了读取文件、提取单词并按其中数字大小降序排列,你可以使用Python的`re`模块来正则表达式匹配单词,并利用内置的`sorted()`函数结合自定义的排序关键字。假设我们的文件中是一行行文本,每行由空格分隔单词,我们先读取文件,然后操作字符串。以下是一个简单的例子:
```python
import re
def extract_words_with_digits(file_path):
with open(file_path, 'r') as file:
content = file.read().splitlines() # 逐行读取文件内容
words_with_digits = []
for line in content:
words = line.split() # 按空格分割单词
for word in words:
match = re.findall(r'\d+', word) # 提取所有数字
if match:
# 将数字转换成整数并添加到列表中
num = int(''.join(match))
words_with_digits.append((word, num))
# 对元组(单词, 数字)进行排序,先比较数字,再根据单词本身排序(这里默认字母顺序)
sorted_words = sorted(words_with_digits, key=lambda x: (-x[1], x[0]))
return sorted_words
result = extract_words_with_digits('your_file.txt')
for word, num in result:
print(f"{word}: {num}")
阅读全文