在Python中将字符串转换为列表

Sam*_*Sam 9 python

我有一个包含数字列表的文本文档,我想将其转换为列表.现在我只能在列表的第0个条目中获取整个列表,但我希望每个数字都是列表的元素.有谁知道在Python中这样做的简单方法?

1000
2000
3000
4000
Run Code Online (Sandbox Code Playgroud)

['1000','2000','3000','4000']
Run Code Online (Sandbox Code Playgroud)

Eli*_*sky 22

要将Python字符串转换为列表,请使用以下str.split方法:

>>> '1000 2000 3000 4000'.split()
['1000', '2000', '3000', '4000']
Run Code Online (Sandbox Code Playgroud)

split 有一些选择:查找它们以获得高级用途.

您还可以readlines()使用文件对象的方法将文件读入列表- 它返回行列表.例如,要从该文件获取整数列表,您可以执行以下操作:

lst = map(int, open('filename.txt').readlines())
Run Code Online (Sandbox Code Playgroud)

PS:在评论中查看其他一些方法.其中一些方法比我的更好(更多Pythonic)

  • 文件对象是可迭代的,因此很少有理由使用`readlines`方法.例如,您可以使用`map(int,open('filename.txt'))`获得与上一个片段相同的结果. (2认同)
  • 列表理解通常比`map`内置函数更快,如果文件足够大,迭代文件将比`readlines`更快,内存效率更高:`lst = [int(line)for line in open('filename .TXT')]` (2认同)