很抱歉,您没有提供需要改写的句子。请提供您希望改写的句子,我将为您改写为一个长尾词的。
- 内容介绍
- 文章标签
- 相关推荐
本文共计1092个文字,预计阅读时间需要5分钟。
家好,我是小皮。一、前言前几天在Python白银交流群有个叫大侠的群友问了一个Python列表处理的问题,这里拿出来给大家分享一下,一起学习下。
请教:如何读取保存的一些list信息?
大家好,我是皮皮。
一、前言
前几天在Python白银交流群有个叫的粉丝问了一个Python列表处理的问题,这里拿出来给大家分享下,一起学习下。
请教:如何读取保存一些list信息的txt,生成有一组名字有规律的list,如list1,list2,list3...
[1,'西游记',''吴承恩',孙悟空','猪八戒','唐僧'][2,'钢铁是怎样炼成的','奥斯特洛夫斯基','保尔柯察金','冬妮娅']
[3,'红楼梦',''贾宝玉',林黛玉]
[4,'三国演义',''孔明',曹操','关羽','貂蝉']
想处理成:
list1=[1,'西游记',''吴承恩',孙悟空','猪八戒','唐僧']list2=[2,'钢铁是怎样炼成的','奥斯特洛夫斯基','保尔柯察金','冬妮娅']
list3=[3,'红楼梦',''贾宝玉',林黛玉]
list4=[4,'三国演义',''孔明',曹操','关羽','貂蝉']
这个题目有点尴尬,不知道他具体的实际场景,但是目前就是要这么个效果。
二、解决过程
解答
这里给出了解答,纯粹往结果上靠。
final_lst=[]withopen("data.txt",'r',encoding='utf-8')asf:
lines=f.readlines()
foriinrange(1,len(lines)+1):
new_line=f"list{i}="+lines[i-1]
print(new_line)
final_lst.append(new_line)
withopen('new_data.txt','w',encoding='utf-8')asf:
fordatainfinal_lst:
f.write(data+'\n')
乍一看,确实是完成了任务,不过似乎没没有完成需求。
看似解决,还需优化。
解答
这里给了一个答案,用到了exec()函数,如下图所示:
解答
这里也给出了一个代码,也用到了exec()函数,如下所示:
withopen('shouju03.txt','r',encoding='utf-8')asf:data=f.readlines()
fork,vinenumerate(data):
value=eval(v)
exec(f"list_{k+1}={value}")
print(list_1)
print(list_2)
print(list_3)
print(list_4)
代码截图:
细心的小朋友们可能已经发现了,不论是还是的代码截图里边,变量list1、list2、list3、list4打印的时候都带了红色的下划线,按说我们在pycharm中遇到红色下划线是报错的节奏,其实在这里并不是的,需要稍微注意一下。本质原因是exec()函数执行之后,是没有返回值的,所以在pycharm中找不到对应的值,会提示红色的下划线告警,但是实际上不是报错。与之对应的eval()函数是有返回值的,这点是它们两个内置函数最大的区别。
最后放个的完整的代码:
#txt文件内容如下:#list1=[1,'西游记','吴承恩','孙悟空','猪八戒','唐僧']
#list1=[2,'钢铁直男','拖拉机','保尔','冬妮娅']
#list1=[3,'红楼梦','贾宝玉','林黛玉']
#list1=[4,'三国演义','孔明','诸葛亮','军师','中路法师']
withopen('shouju03.txt','r',encoding='utf-8')asf:
data=f.readlines()
print('下面是批量生成列表变量,并直接赋值')
fork,vinenumerate(data):
#这里使用字符串切片去除文件中每行前面多余的字符串
#并调用eval方法把字符串变为列表
value=eval(v[6:])
#生成变量并赋值
exec(f"list_{k+1}={value}")
#直接调用变量,输出它的值
print(f"list_{k+1}={value}")
print('下面是直接调用变量')
print('list_1=',list_1)
print('list_2=',list_2)
print('list_3=',list_3)
print('list_4=',list_4)
这块还是蛮考验Python基础的,基础不牢,地动山摇!
三、总结
大家好,我是皮皮。这篇文章针对如何读取保存一些list信息的txt,生成有一组名字有规律的list的问题,给出了具体的解析和代码演示,帮助粉丝顺利解决了问题。
最后感谢粉丝提问,感谢、、给出的具体解析和代码演示,感谢、、、等人参与学习交流。
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
本文共计1092个文字,预计阅读时间需要5分钟。
家好,我是小皮。一、前言前几天在Python白银交流群有个叫大侠的群友问了一个Python列表处理的问题,这里拿出来给大家分享一下,一起学习下。
请教:如何读取保存的一些list信息?
大家好,我是皮皮。
一、前言
前几天在Python白银交流群有个叫的粉丝问了一个Python列表处理的问题,这里拿出来给大家分享下,一起学习下。
请教:如何读取保存一些list信息的txt,生成有一组名字有规律的list,如list1,list2,list3...
[1,'西游记',''吴承恩',孙悟空','猪八戒','唐僧'][2,'钢铁是怎样炼成的','奥斯特洛夫斯基','保尔柯察金','冬妮娅']
[3,'红楼梦',''贾宝玉',林黛玉]
[4,'三国演义',''孔明',曹操','关羽','貂蝉']
想处理成:
list1=[1,'西游记',''吴承恩',孙悟空','猪八戒','唐僧']list2=[2,'钢铁是怎样炼成的','奥斯特洛夫斯基','保尔柯察金','冬妮娅']
list3=[3,'红楼梦',''贾宝玉',林黛玉]
list4=[4,'三国演义',''孔明',曹操','关羽','貂蝉']
这个题目有点尴尬,不知道他具体的实际场景,但是目前就是要这么个效果。
二、解决过程
解答
这里给出了解答,纯粹往结果上靠。
final_lst=[]withopen("data.txt",'r',encoding='utf-8')asf:
lines=f.readlines()
foriinrange(1,len(lines)+1):
new_line=f"list{i}="+lines[i-1]
print(new_line)
final_lst.append(new_line)
withopen('new_data.txt','w',encoding='utf-8')asf:
fordatainfinal_lst:
f.write(data+'\n')
乍一看,确实是完成了任务,不过似乎没没有完成需求。
看似解决,还需优化。
解答
这里给了一个答案,用到了exec()函数,如下图所示:
解答
这里也给出了一个代码,也用到了exec()函数,如下所示:
withopen('shouju03.txt','r',encoding='utf-8')asf:data=f.readlines()
fork,vinenumerate(data):
value=eval(v)
exec(f"list_{k+1}={value}")
print(list_1)
print(list_2)
print(list_3)
print(list_4)
代码截图:
细心的小朋友们可能已经发现了,不论是还是的代码截图里边,变量list1、list2、list3、list4打印的时候都带了红色的下划线,按说我们在pycharm中遇到红色下划线是报错的节奏,其实在这里并不是的,需要稍微注意一下。本质原因是exec()函数执行之后,是没有返回值的,所以在pycharm中找不到对应的值,会提示红色的下划线告警,但是实际上不是报错。与之对应的eval()函数是有返回值的,这点是它们两个内置函数最大的区别。
最后放个的完整的代码:
#txt文件内容如下:#list1=[1,'西游记','吴承恩','孙悟空','猪八戒','唐僧']
#list1=[2,'钢铁直男','拖拉机','保尔','冬妮娅']
#list1=[3,'红楼梦','贾宝玉','林黛玉']
#list1=[4,'三国演义','孔明','诸葛亮','军师','中路法师']
withopen('shouju03.txt','r',encoding='utf-8')asf:
data=f.readlines()
print('下面是批量生成列表变量,并直接赋值')
fork,vinenumerate(data):
#这里使用字符串切片去除文件中每行前面多余的字符串
#并调用eval方法把字符串变为列表
value=eval(v[6:])
#生成变量并赋值
exec(f"list_{k+1}={value}")
#直接调用变量,输出它的值
print(f"list_{k+1}={value}")
print('下面是直接调用变量')
print('list_1=',list_1)
print('list_2=',list_2)
print('list_3=',list_3)
print('list_4=',list_4)
这块还是蛮考验Python基础的,基础不牢,地动山摇!
三、总结
大家好,我是皮皮。这篇文章针对如何读取保存一些list信息的txt,生成有一组名字有规律的list的问题,给出了具体的解析和代码演示,帮助粉丝顺利解决了问题。
最后感谢粉丝提问,感谢、、给出的具体解析和代码演示,感谢、、、等人参与学习交流。
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

