簡體   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