一二二四四 发表于 2016-2-26 14:57:35

关于each_line的两个问题

1.each_line在python里到底是个啥?python里默认定义了就是表示每行吗?
2.下图中对于列表可以打印正确,对于字符串为什么打印成这样了呢?

shuofxz 发表于 2016-2-26 16:13:37

each_line就是一个变量,你换成a、b、c都是一样的
for其实是一个迭代器,也就说每次取值都是从in后面那个迭代器里面得到的
第一个list1每次迭代会把列表中的一个元素弹出来
第二个是个字符串,每次迭代弹出一个字符

阿狸爱吃鱼 发表于 2016-2-26 16:18:08

你上面代码中的each_line只是一个变量名而已
并没有什么特殊的意义
你换成 随便一个变量名字 都可以得到上面的结果i ,a 。。。。。。都可以的
第一个结果是因为 打印出 你list里面的每一个元素 第一个元素是'45677\n'
打印出来 就是 45677加换行
同理可以得出你的第二个元素 也是这样打印出来的

然后第二个str'34678\n,98777\n'   (请忽略具体数字哈)
你打印出的每一个元素 分别是3   46   7   8    \n   ,   98   7   7   7\n
或者可以用index去看一下
你就明白啦~~~

一二二四四 发表于 2016-2-26 16:36:40

shuofxz 发表于 2016-2-26 16:13
each_line就是一个变量,你换成a、b、c都是一样的
for其实是一个迭代器,也就说每次取值都是从in后面那个 ...

感谢!

luya749 发表于 2018-7-27 14:03:03

我换成a、b、c之后为什么提示我a没定义呀

luya749 发表于 2018-7-27 14:05:51

C:\Users\1000255682\Desktop\Untitled

wsyk 发表于 2019-7-30 16:30:35

本帖最后由 wsyk 于 2019-7-30 16:40 编辑

今天学第29课,脸面用到了这个,我想问一下,迭代的是in后面的那个里面的换行符(\n)吗,如果换成集合或者数列会迭代里面的(,)吗{:5_96:}
刚才又试了一下,会打印出与元素同样的内容,并不会换行,搞不懂。求大神帮忙

不负韶华 发表于 2020-12-24 04:47:36

wsyk 发表于 2019-7-30 16:30
今天学第29课,脸面用到了这个,我想问一下,迭代的是in后面的那个里面的换行符(\n)吗,如果换成集合或者 ...

print(each_line, end = '')
这样不会换行了。print默认end = '换行符\n' ,你指定end='空字符' 就行了。
页: [1]
查看完整版本: 关于each_line的两个问题