繁体   English   中英

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

[英]python: reading a file and storing strings as strings and integers as integers into a list

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

例如:

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

我希望它像这样存储到列表中:

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

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

我不能使用字典,因为它们没有被索引,而且它们会四处移动,我不能使用元组,因为它们不能从堆栈中“弹出”,我只能使用列表,因为它们已被索引,我可以使用弹出方法。

读入文件时有没有这样做?

正如我在评论中所说,您可以简单地将Ashwini Chaudhary 的功能更改为:

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'>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM