gpt4 book ai didi

python - 将位于列表列表内的字符串拆分为位于同一列表中的两个元素

转载 作者:太空宇宙 更新时间:2023-11-04 00:17:21 24 4
gpt4 key购买 nike

这是我导入并想转换成特定列表的文本文件中的一串数字。

3 04,24
4 04,75
4 05,11
4 05,47
4 05,78
4 06,80
3 07,25
3 07,92
3 08,23
2 09,76

实际上我的代码达到了这一点:

[['3 04,24'], ['4 04,75'], ['4 05,11'], ['4 05,47'], ['4 05,78'], ['4 06,80'], ['3 07,25'], ['3 07,92'], ['3 08,23'], ['2 09,76']]

但我想将元组中的元素一分为二,得到这样的结果:

[['3','04,24'], ['4','04,75']] etc...

但经过多次研究我找不到解决方案,如果你能告诉我如何将这些元素从字符串转换为 int,那将非常有帮助!

这是我的代码:

with open("myfile.txt") as f:
mylist = [line.rstrip('\n') for line in f]
mylist = [mylist[x:x+1] for x in range(0, len(mylist), 1)]
print(mylist)

谢谢。

最佳答案

这是一个使用标准库中的 csv 模块的解决方案:

import csv

with open('myfile.txt', 'r') as f:
reader = csv.reader(f, delimiter=' ')
res = list(reader)

您的数据示例:-

from io import StringIO
import csv

mystr = StringIO("""3 04,24
4 04,75
4 05,11
4 05,47
4 05,78
4 06,80
3 07,25
3 07,92
3 08,23
2 09,76""")

with mystr as f:
reader = csv.reader(f, delimiter=' ')
res = list(reader)

print(res)

# [['3', '04,24'],
# ['4', '04,75'],
# ['4', '05,11'],
# ['4', '05,47'],
# ['4', '05,78'],
# ['4', '06,80'],
# ['3', '07,25'],
# ['3', '07,92'],
# ['3', '08,23'],
# ['2', '09,76']]

或者如果您需要将数据转换为数字:

with mystr as f:
reader = csv.reader(f, delimiter=' ')
res = [[int(i), float(j.replace(',', '.'))] for i, j in reader]

print(res)

[[3, 4.24],
[4, 4.75],
[4, 5.11],
...

关于python - 将位于列表列表内的字符串拆分为位于同一列表中的两个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50427695/

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