蟒蛇;将列表转换为单独的字符串

时间:2013-05-10 05:00:33

标签: python

我试图从我存储过数字的文件中读取。它们的排列如下:

  
    

1,2,4,5,6,7,8,9,2,1,2,3,4

  

我试图将所有这些数字转换成单独的字符串。

我已经编写了读取文件代码,可以将整个文本作为一个字符串,但我无法使它们成为个体。

例如我需要的输出是:

  
    

var1 = 1 var2 = 2 var3 = 4等等

  

感谢您的帮助

2 个答案:

答案 0 :(得分:4)

>>> with open('nums.txt') as f:
        nums = [int(n) for n in f.readline().split(', ')]


>>> nums
[1, 2, 4, 5, 6, 7, 8, 9, 2, 1, 2, 3, 4]

正如@Amber所说,你可以使用csv模块:

>>> import csv
>>> with open('nums.txt') as f:
        r = csv.reader(f)
        nums = [int(n) for n in next(r)]


>>> nums
[1, 2, 4, 5, 6, 7, 8, 9, 2, 1, 2, 3, 4]

答案 1 :(得分:0)

如果您确定要使用的变量,例如。 var1 .. var10如果您总是希望输入文件中有10个数字,您可以使用如下的简单赋值来获取在程序变量中指定的值

s = "1, 2, 4" # s can be a line read from a file
(var1, var2 ,var3) = [i.strip() for  i in s.split(',')]

如果分配不平衡(即输入值少于/多于变量数量),则会出现错误

ValueError: too many values to unpack

存在其他有效方式

  • 您可以使用dict键和值来保存数据并将其传递给图表方法以进行绘图
  • 您可以使用图形类的实例属性来保存数据并调用类的图形方法(如果您尝试的图形被定义为类)

similar post