字符串切割的问题
在29课中将文字切割为三部分使用了
for each in f:
if each[:6] != '======':
(role,line_sp) = each.split(':',1)
if role =='小甲鱼':
boy.append(line_sp)
if role == '小客服':
gril.append(line_sp)
在我的理解里面,for语句不应该是逐个字符验证条件吗?
为什么这里可以这样使用?if each[:6] != '======':
另外 each.split()的使用我没有明白
each.split(':',1)
是以‘:’为分隔符,我知道。这个1是什么含义。不应该是2吗?返回2个字符串 因为each是一个字符串,字符串是支持分片操作的,比如
s = "good day"
s[:5] = "good"
这里的1表示分割一次,也就是得到两部分 BngThea 发表于 2017-12-28 17:19
因为each是一个字符串,字符串是支持分片操作的,比如
s = "good day"
s[:5] = "good"
如何实现的逐行对比呢? BngThea 发表于 2017-12-28 17:19
因为each是一个字符串,字符串是支持分片操作的,比如
s = "good day"
s[:5] = "good"
def file_compare(file1, file2):
f1 = open(file1)
f2 = open(file2)
count = 0 # 统计行数
differ = [] # 统计不一样的数量
for line1 in f1:
line2 = f2.readline()
count += 1
if line1 != line2:
differ.append(count)
我不能理解,这段代码中if line1 != line2
for line1 in f1:
不应该是逐个字符读取 F1吗?
应该不是逐行对吧?
wfjx_85 发表于 2017-12-28 18:00
def file_compare(file1, file2):
f1 = open(file1)
f2 = open(file2)
是按行 BngThea 发表于 2017-12-28 18:34
是按行
for line1 in f1:
line2 = f2.readline()
这个按行比较是在特定情况下,还是其他设定? wfjx_85 发表于 2017-12-29 08:49
for line1 in f1:
line2 = f2.readline()
这个按行比较是在特定情况下,还是其他设定?
以下两种写法都是按行
1 for each in f:
2 while True:
each = f.readline()
页:
[1]