关于each_line的两个问题
1.each_line在python里到底是个啥?python里默认定义了就是表示每行吗?2.下图中对于列表可以打印正确,对于字符串为什么打印成这样了呢?
each_line就是一个变量,你换成a、b、c都是一样的
for其实是一个迭代器,也就说每次取值都是从in后面那个迭代器里面得到的
第一个list1每次迭代会把列表中的一个元素弹出来
第二个是个字符串,每次迭代弹出一个字符
你上面代码中的each_line只是一个变量名而已
并没有什么特殊的意义
你换成 随便一个变量名字 都可以得到上面的结果i ,a 。。。。。。都可以的
第一个结果是因为 打印出 你list里面的每一个元素 第一个元素是'45677\n'
打印出来 就是 45677加换行
同理可以得出你的第二个元素 也是这样打印出来的
然后第二个str'34678\n,98777\n' (请忽略具体数字哈)
你打印出的每一个元素 分别是3 46 7 8 \n , 98 7 7 7\n
或者可以用index去看一下
你就明白啦~~~ shuofxz 发表于 2016-2-26 16:13
each_line就是一个变量,你换成a、b、c都是一样的
for其实是一个迭代器,也就说每次取值都是从in后面那个 ...
感谢! 我换成a、b、c之后为什么提示我a没定义呀 C:\Users\1000255682\Desktop\Untitled 本帖最后由 wsyk 于 2019-7-30 16:40 编辑
今天学第29课,脸面用到了这个,我想问一下,迭代的是in后面的那个里面的换行符(\n)吗,如果换成集合或者数列会迭代里面的(,)吗{:5_96:}
刚才又试了一下,会打印出与元素同样的内容,并不会换行,搞不懂。求大神帮忙 wsyk 发表于 2019-7-30 16:30
今天学第29课,脸面用到了这个,我想问一下,迭代的是in后面的那个里面的换行符(\n)吗,如果换成集合或者 ...
print(each_line, end = '')
这样不会换行了。print默认end = '换行符\n' ,你指定end='空字符' 就行了。
页:
[1]