菜鸟寻经

wanj2015 2017-03-20 01:36:53
读取文本后对字符串进行以逗号分割后,想把他放入到数组中,然后根据数据的key值得到对应的值,刚开始学希望高手指导下

例子:
定义个全局的数组

循环读出来的字符串:
s1,s1值
s2,s2值
s3,s3值
……
逗号前的作为key,逗号后的作为值放入到数组中,然后再从数组中按照key把对应的值循环出来。请问大侠这个方法该怎么写呢?
...全文
144 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wanj2015 2017-03-23
谢谢,看了真是涨知识
回复
python_lele 2017-03-22
引用 6 楼 jieli_ 的回复:
我觉得也许你可以help(print)看看print函数的参数,有个参数囧啊做end,默认为‘\n’也就是换行,改成''就行了。
hehe,
f=open('E:/huidao.txt')#打开文件(这里面是文本路径)
fd=f.read()#读取文件
fd=fd.split()
fd=''.join(fd)
fd=fd.strip(',')#前面步骤不要,如何去除txt文本最后一个(,号),(,号)不去除代码不会报错?一个空字符如何能转为字典?我觉得有必要前面的步骤,直接\n也消除了,不用print的时候再end
li=fd.split(',')
a_list_of_lists=[v.split(':',1) for v in li]
a_dict=dict(a_list_of_lists)
while True:
    try:
        ini=a_dict[input('')]
        if ini in fd:
           print(ini)
           # break
    except KeyError as g:
        if g:
             print('没有这个问题,请重新输入:')
回复
realjac 2017-03-22
我觉得也许你可以help(print)看看print函数的参数,有个参数囧啊做end,默认为‘\n’也就是换行,改成''就行了。
回复
python_lele 2017-03-22
1,前提是你要把txt弄成 ask:fdsfsdfsdfs, adasfgghh:gjhkhkhk, asdgfhrter:sfadafdf 这种样式,然后保存为E:/huidao.txt,运行下面的代码就能输入:前面的得到:后面的,最后一行那个,可以在处理文本的时候用stript(',')去除 2
f=open('E:/huidao.txt')#打开文件(这里面是文本路径)
fd=(f.read())#读取文件
fd=fd.split()
fd=''.join(fd)
li=fd.split(',')
a_list_of_lists=[v.split(':',1) for v in li]
a_dict=dict(a_list_of_lists)
while True:
    try:
        ini=a_dict[input('')]
        if ini in fd:
           print(ini)
           break
    except KeyError as g:
        if g:
             print('没有这个问题,请重新输入:')
回复
python_lele 2017-03-21
1,txt文本内容弄成这样保存为huidao.txt asdada=fdsfsdfsdfs, adasfgghh=gjhkhkhk, asdgfhrter=sfadafdf #stript(',') 2,
f=open('E:/huidao.txt')#打开文件(这里面是文本路径)
fd=(f.read())#读取文件
li=fd.split(',')
a_list_of_lists=[v.split('=',1) for v in li]
a_dict=dict(a_list_of_lists)
print(a_dict)
只能做成这样了,那个回车符\n我也不知道怎么去除。
回复
wanj2015 2017-03-21
大师你可能没明白我的意思,我的意思是说把文本的内容按行读出来然后追加到元组中 我的目的是要做一个针对关键字进行回复的一个功能 man=[] f = open("添加问答列表.txt",'r',encoding= 'utf-8') line = f.readline() while line: man.append( line) line = f.readline() print(man) f.close() 现在有这两个问题,追加进去的时候都有回车换行符号\n ['微信红包:谢谢老板!\n', '红包:求求你给我发个红包吧~~\n', '你叫什么:我叫xx‘] 冒号前面是关键字,冒号后面的是要回答的话,如果一句话中包含了这里面的关键字,那系统就会自动的把对应的回答语返回给用户。这么怎么修改上面的代码呢?我是新手望老师们见谅啊
回复
python_lele 2017-03-20
list1 = ['a','b','c']
fmt = 'index %d value is %s'
print (', '.join([fmt % (idx, val)for idx, val in enumerate(list1)]))
# or=python
print (', '.join(map(lambda x: fmt%x, enumerate(list1))))
回复
python_lele 2017-03-20

list1 = ['a','b','c']
fmt = 'index %d value is %s'
print (', '.join([fmt % (idx, val)for idx, val in enumerate(list1)]))
# or=python
print (', '.join(map(lambda x: fmt%x, enumerate(list1))))
回复
相关推荐
发帖
脚本语言
创建于2007-08-27

3.7w+

社区成员

JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
申请成为版主
帖子事件
创建了帖子
2017-03-20 01:36
社区公告

CSDN 脚本语言社区接受专栏投稿(专栏会在顶部创建专属你的栏目),投稿需满足以下要求:

  • 脚本语言技术相关;
  • 文章持续更新,保持活跃;
  • 内容清晰明了,干货为主;
  • 文章排版有序,有条有理。

本社区开通招聘专栏,发布招聘信息请联系版主,发布者需要保证招聘信息真实有效,CSDN 平台和版主不对招聘内容负责!

联系方式:私聊版主、发送邮件、QQ联系等均可: