gpt4 book ai didi

python - 整个 .txt 文件都是字符串,但实际上不是。我如何按类型区分它们?

转载 作者:太空宇宙 更新时间:2023-11-03 14:38:54 25 4
gpt4 key购买 nike

我的 .txt 文件看起来像这样:

a
baby
*
27
int

读入文件后,我该如何将此列表分成 5 个其他列表?例如,

char_list = ['a']
str_list = ['baby']
special = ['*']
digit = [27]
data_type = ['int']

python中有没有专门的函数来实现这种分离?我不想做类似的事情

# I don't even know if this is legal
new_array = []
for x in foo:
if x in "*"
new_array.append(x)

执行后:

strz = [item for item in text if isinstance(item,str)]
print strz

它告诉我它们都是字符串。

最佳答案

这是一个函数,它将检查输入的类型,如您在上面指定的那样(添加了 float )。

def type_check(x):
if not x:
return 'none'
try:
int(x)
return 'int'
except:
pass
try:
float(x)
return 'float'
except:
pass
if len(x)==1:
if x.isalpha():
return 'char'
else:
return 'special'
if x in ('int','float','str'):
return 'data_type'
return 'str'

现在您可以创建一个字典来跟踪每种类型的出现。

from collections import defaultdict

type_dict = defaultdict(list)

# create a variable that mimics your file...
f = '''a
baby
*
27
int'''.split()

for line in f:
t = type_check(line.strip())
type_dict[t].append(line.strip())

type_dict
# returns:
defaultdict(list,
{'char': ['a'],
'data_type': ['int'],
'int': ['27'],
'special': ['*'],
'str': ['baby']})

关于python - 整个 .txt 文件都是字符串,但实际上不是。我如何按类型区分它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46707537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com