此问题已在此处有答案:
How to convert a string of space- and comma- separated numbers into a list of int?(6个回答)
7年前关闭。
假设我收到了这个文本age_gender.txt
Female:18,36,35,49,19
Male:23,22,26,26,26
这是我目前为止得到的代码
file = open("age_gender.txt")
contents = file.read().splitlines()
new_dictionary = dict(item.split(":") for item in contents)
return new_dictionary
当我调用函数readfile()
时,这是我得到的输出,但是值列表仍然用引号表示。如何将每个值转换为列表?
{'Female': '18,36,35,49,19', 'Male': '23,22,26,26,26'}
我想要达到的输出是这样的
{'Female': [18,36,35,49,19], 'Male': [23,22,26,26,26]}
4条答案
按热度按时间wh6knrhe1#
将其应用于您的代码:
j91ykkif2#
你已经完成了基本的步骤,剩下的步骤是:
split(',')
上的值int(i)
将这些步骤 Package 在一个
for
循环中,并对字典中的每个键/值对执行此操作。bvk5enib3#
下面是另一种使用
ast.literal_eval
将年龄转换为Python列表的方法。它具有支持所有基本数据类型的优点,例如float,没有显式转换:这将生成一个以元组作为值的字典:
如果你真的需要列表,你可以转换元组:
czfnxgou4#
你需要用“,”分割这个字典值,然后将它Map到int: