gpt4 book ai didi

python - 如何在 Python 列表中去掉\n 并拆分它周围的值

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

所以我是Python新手,我很难理解如何操作文件等。目前,我一直在尝试通过以逗号分隔来将文件中的行分配到列表中。我正在使用这段代码:

with open('grades.txt','r') as f:
data=f.read()
data=data.split(',')
print(data)

我现在遇到的问题是输出是这样的:

['22223333', ' Michael Gill', ' 49\n23232323', ' Nicholas Smith', ' 62\n18493214', ' Kerri Morgan', ' 75\n00015542', ' Donald Knuth', ' 90\n00000001', ' Alan Turing', ' 100']

我的问题是,如何从输出中删除\n 以及如何拆分由\n 分隔的值(例如 49\n23232323,我希望将其拆分为 '49 ','23232323')。据我所知(不是很多),你不能分割列表,也不能分配 2 个变量来分割文件,那么我如何用逗号和 '\n 分割文件'?

理想的输出是:

['22223333', 'Michael Gill', '49', '23232323', 'Nicholas Smith', '62', '18493214', 'Kerri Morgan', '75', '00015542', 'Donald Knuth', '90', '00000001', 'Alan Turing', '100']

grades.txt 文件包含:

22223333, Michael Gill, 49   
23232323, Nicholas Smith, 62
18493214, Kerri Morgan, 75
00015542, Donald Knuth, 90
00000001, Alan Turing, 100

此外,是否可以仅将文件中的某些行/单词拆分为列表? (即包含 (1,2,3,4,a,b,c,d,5,4,3,d,r) 并将数字拆分为一个列表,将字母拆分为另一个列表的文件?)

最佳答案

我会做这样的事情:

with open('grades.txt','r') as f:
data=f.read()
data=data.replace("\n", ",").split(',')
print(data)

因此将每个 \n 替换为逗号

如果您想在一个列表中包含数字,在另一个列表中包含单词,只需创建两个列表并使用函数 .isdigit() 对它们进行排序,如下所示:

words = []
numbers = []

for element in data:
if element.replace(" ", "").isdigit(): numbers.append(element)
else: words.append(element)

另一种方法是使用 try except:

for element in data:
try:
int(element.replace(" ", ""))
numbers.append(element)
except:
words.append(element)

关于python - 如何在 Python 列表中去掉\n 并拆分它周围的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42956542/

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