2015-10-15 323 views
-1

我有一个文件名为FILE1.TXT,其内容是这样的:Python脚本,将一个字符串映射到另一个字符串

FILE1.TXT

Python是一种通用的,解释的,互动的,面向对象和高级编程语言。 Python由Guido van Rossum在八十年代和九十年代初在荷兰国家数学和计算机科学研究所开发。 Python源自许多其他语言,包括ABC,Modula-3,C,C++,Algol-68,SmallTalk和Unix shell以及其他脚本语言。 Python受版权保护。像Perl一样,Python源代码现在可以在GNU通用公共许可证(GPL)下获得。

我想映射一个字符串为例如。将文件中的第三个句子添加到另一个字符串中,例如 - “Python被设计为易读性强,频繁使用英语关键字”。

这个映射如何在python中完成?我知道该字典相当于Python中的hashmap,但可以使用dictionary来将1个字符串映射到另一个字符串?

我想是这样的:

f=open("log5.txt") 
dict = {'f.readline()': 'Python was designed to be highly readable which uses English keywords frequently'} 
print(f.readline()) 
print(dict['f.readline()']) 

但上面的程序映射的第一句话,也没有任何更好和更有效的方式来写上面的程序???

回答

0

好吧,2简单的解决方案:.split(...)re.(...)

text = "Python is ... License (GPL)." 

# add back the periods, this isn't the most efficient way (use regex or a tokenizer for better results but this works) 
def add_periods(sentences) 
    return [sentence + "." for sentence in periodless_sentences] 

# i have no idea why you'd want to do this 
def map_to_sentence_index(sentences): 
    return {i: (s + ".") for (s, i) in enumerate(sentences)} 

# split 
periodless_sentences = str.split('. ') 

# regex 
import re 
sentences = re.split(r' *[\.\?!][\'"\)\]]* *', text) 

在蟒蛇map意味着map(func, lst)其中func是要适用于lst每个元素的一些功能。这不是你所描述的。 map是保留关键字。

map(len, ["a", "bb", "ccc"]) => [1, 2, 3] 

老实说,你的问题在Python的上下文中没有什么意义,并且看起来是从教科书复制粘贴的。请不要使用stackoverflow作为功课解决方案网站。这就是说,这里的解决方案大声笑

相关问题