python:读取文件并将字符串作为字符串存储为整数并将整数存储到列表中

时间:2015-11-01 00:15:29

标签: python string list int

我是python的新手,我试图在任何地方寻找这个问题但是我找不到它我不确定这是否有效但是我们走了.....所以我是尝试读取具有不同类型变量的文件并将不同的正则表达式存储到列表中。字符串,浮点数,整数,关键字等等都在列表中,但它们都存储为列表中的字符串而不是不同的类型。

例如:

list1 = ['sandy', 'mike', '3.2', '15']

我希望将它存储到列表中:

list1 = ['sandy', 'mike', 3.2, 15]

对我来说,知道哪些是字符串以及哪些是数字非常重要。

我无法使用字典,因为它们没有编入索引,而且它们会四处移动而我无法使用元组,因为它们无法使用字典#34;#34;#34;"在堆栈中,我只能使用列表,因为它们已编入索引,我可以使用pop方法。

在阅读文件时是否还没有这样做?

1 个答案:

答案 0 :(得分:0)

正如我在评论中所说,你可以简单地将Ashwini Chaudhary's function更改为:

def func(seq):
    for x in seq:
        try:
            if '.' in x:
                yield float(x)
            else:
                yield int(x)
        except ValueError:
            yield x

list1 = ['sandy', 'mike', '3.2', '15', '3.243', 'Washington D.C.']

for i in func(list1):
    print(i)
    print(type(i))
    print()

输出:

sandy
<class 'str'>

mike
<class 'str'>

3.2
<class 'float'>

15
<class 'int'>

3.243
<class 'float'>

Washington D.C.
<class 'str'>