【问题标题】:Turning this list off a website into a python list将此列表从网站转换为 python 列表
【发布时间】:2017-05-21 11:17:57
【问题描述】:

https://github.com/danielmiessler/SecLists/blob/master/Passwords/10k_most_common.txt

将这个列表转换为 python 列表的最有效方法是什么,我只需要前 100 个。

谢谢,莱昂。

仅供参考,我浏览了网站,发现了很多与多行列表相关的内容,但没有任何帮助。

【问题讨论】:

  • 读入文件,然后换行分割。
  • “最高效”是什么意思?最少的编程时间?最少的行数?如果您的意思是这些,请使用 Matteo Secco 的答案。最少的输入/输出?如果是这样,请多使用几行来仅读取前 100 行。最短的执行时间?这取决于你的环境。你想要只读取前 100 行的代码吗?
  • 一切皆有效率的因素。
  • 实际上,代码永远不可能在所有事情上都高效。就像编程的谚语所说:“好,快,便宜。选择两个。”当前最喜欢的答案在很多方面都很出色,但输入/输出量很差。

标签: python list passwords


【解决方案1】:
yourlist = open("10k_most_common.txt", "r").read().split("\n")[:100]
  • open() : 打开文件;有两个参数,文件名和你想用它做什么,在这种情况下你想r读取它
  • read() :所以现在你有了文件对象,但你需要里面写的是什么;使用函数 read() 可以将文件的所有内容作为字符串获取
  • split() :它将字符串除以参数,在本例中为 \n(换行符),因此字符串变为列表
  • [:100] :有了这个,你可以指定你想要的列表的哪一部分。所以 [:100][0:100:1] 是一样的,也就是说:从索引 0 开始,到达索引 100,元素之间有一个间隔一个(所以从 0 到 100 的每个元素)

如果你觉得太难理解,你可以使用这个更长的形式:

file = open("10k_most_common.txt", "r")
string = file.read()
yourlist = string.split("\n")[:100]

【讨论】:

  • 我不知道它有什么作用,也没有任何功能,能否请您更具体地说明它的作用?
  • 最好使用withreadlines,它返回一个列表而不需要显式调用split。最好不要覆盖名称list
  • @leon 现在可以了吗?
  • @MatteoSecco 没有名为 list 的变量。您正在遮蔽内置函数。
  • @Carcigenicate 谢谢!我总是忘记python的数组叫list。
猜你喜欢
  • 2023-03-25
  • 1970-01-01
  • 2016-07-05
  • 2021-09-08
  • 2018-01-17
  • 2022-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多