我正在上一个python类,没有python方面的经验。讲师只教文档,拒绝给出代码示例。我理解C++,但我对Python感到非常沮丧,因为我基本上是在教自己。在
我想打开一个每行包含一个随机字符字符串的文本文件。例如,长度可以是8、10、15或20个字符。它必须是灵活的。文本文件中可以有未指定数量的字符串(行)。在
文本文件可能如下所示:
HGAMONIHRA
AOMOKAWONS
NFROLBOBDN
ARFSIHCAGE
LNIEEWONOK
GOLFUNDTHC
KOCATAOHBI
AMRERCGANH
SLGFAMALLC
ALLIGATORX
我只想弄清楚如何将每个字符放入一个类似数组的结构中,在这种结构中,我可以像二维数组一样访问它——例如,我的数组[2][3]。在
我在用字典练习只是为了测试这种行为。我想我可以使用一个带有嵌套for循环的字典,然后使用元组作为键,并从字符串中传递经过解析的字符作为值。我原以为这可能行得通,但当我试图让字典只使用一行时,我的print语句只给我一个键和一个值,而不是列表。我真的很困惑。我知道这很痛苦,但有人能简单地教我吗?Python在我嘴里留下一股难闻的味道。在
这是我对一个文本文件的一行的测试代码:
^{pr2}$有人能教我,因为我的老师不会,我真的很想学。在
Python字符串被视为不可变的集合(类似于元组),因此您只需要保存每行的一组字符串。在
因为python字符串是不可变的,因此需要将整个索引设置为新字符串
^{pr2}$你可以用一个列表来完成:
乍一看,您的代码有一个明显的问题-每次通过循环将
mydict
重置为空dict,并使用以下行:如果将其移动到循环之前,则可以进一步测试,以确定是否有其他问题需要修复。在
然而,有一种更直接的方法来实现你想要的:
^{pr2}$这将打开文件
puzzle.txt
,并将其分配给变量f
,然后将文件中的每一行读入字符串变量line
,去掉所有空白(包括末尾的换行符),将得到的字符串转换成一个字符列表,最后将这些列表收集到另一个列表中,并将其分配给变量puzzle
。最后,因为所有这些都是在with
语句中完成的,所以文件将自动关闭。在上面的代码中有两个重要的Python概念:
如果在pprint模块中使用pprint函数,可以更清楚地看到此代码的结果:
。。。你可以完全按照你在问题中提出的方式来访问一个单独的角色:
相关问题 更多 >
编程相关推荐