【问题标题】:splitting at a certain point an array in python在某个点拆分python中的数组
【发布时间】:2017-09-16 05:44:43
【问题描述】:

我尝试使用另一个帖子的建议在数组中的某个字母/数字处进行拆分,并且有示例。

loadednames = [i.split(':', 0) for i in loadednames]  

我在我的代码中使用了如下

checkaccounts = open('accounts.txt', 'r')  
loadedcheckaccounts = checkaccounts.read().split('\n')  
checkaccounts.close()  
print  "These are used for a later variable that works.\n"  
print loadedcheckaccounts  
loadednames = loadedcheckaccounts  
loadednames = [i.split(':', 0) for i in loadednames]  
print "I need these seperated with the name and then the PW after the :.\n"  
print loadednames  

我得到的结果是:
['Mike:passwordtest', 'Helga:testmassword', 'Dorathy:testwordspass', ''] 我需要将这些与名称分开,然后在 :. 之后使用 PW。

[['Mike:passwordtest'], ['Helga:testmassword'], ['Dorathy:testwordspass'], ['']] 抱歉,该名称没有字符或密码不正确。请再试一次。 请输入名称或键入“create”以创建新角色。

我需要在 : 之后获取字符串并将名称与密码分开,这样我就可以使用另一个变量检查​​名称。感谢您提供的任何帮助!

抱歉,accounts.txt 如下
迈克:密码测试
Helga:testmassword
多拉西:testwordspass

【问题讨论】:

  • accounts.txt 中有什么内容?
  • 您的示例输出不可能由发布的代码产生(对于初学者来说,最后的 Sorry 内容)。
  • “我需要将这些与名称分开,然后在 : 之后使用 PW。” - 我完全不明白这是什么意思:怎么可能把东西分开?完全有可能,例如用刀,但在这种情况下不是......请澄清。
  • i.split(':',0) 将文本拆分 0 次。换句话说,根本没有。
  • i.split(':',0) 将文本拆分 0 次。换句话说,根本没有。

标签: python arrays python-2.7


【解决方案1】:

来自help(str.split) 如果给出了 maxsplit,则最多完成 maxsplit 拆分。 正如 cmets 中所述,当您真正想要 1 次拆分时,您进行了 0 次拆分。现在你有一个列表,你想要第一个项目。这都可以压缩成几行

with open('accounts.txt') as fp:
    loadednames = [line.split(':', 1)[0] for line in fp]

【讨论】:

  • 谢谢!这也有帮助。
【解决方案2】:

如果您的结果是这样表示的;

loadednames=['a:b','c:d']

names = [i.split(':')[0] for i in loadednames]

names 变量将有一个 ['a','c'] 列表

【讨论】:

    猜你喜欢
    • 2014-11-10
    • 2020-04-20
    • 1970-01-01
    • 2022-11-27
    • 2013-05-14
    • 2017-06-14
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多