1、问题描述:如果我想用Python把C1~C100展开,中间的都补上(像C2、C3等),实现很简单:
num1 = 0
num2 = 0
str1 = ''
[s1, s2] = "C1~C100".split('~')
for i in range(len(s1)):
if s1[i].isdigit():
num1 = int(s1[i:])
str1 = s1[:i]
for j in range(len(s2)):
if s2[j].isdigit():
num2 = int(s2[j:])
d_list = [x for x in range(num1, num2+1, 1)]
r_list = [str1+str(y) for y in d_list]
那么r_list就是包含C1到C100的所有字符串的一个列表。但是大家有发现啥问题吗?没错,上面的代码不会得到你想要的的结果的,因为他蕴含了许多人编写包含if的for循环最容易出现的问题,那就是for循环是在一个区间内寻找符合if条件的值,如果只找一个值,那么找到了if语句后面一定要break跳出循环,不然循环会在后面再找其他值替换当前值,所以修改后的代码:
num1 = 0
num2 = 0
str1 = ''
for i in range(len(s1)):
if s1[i].isdigit():
num1 = int(s1[i:])
str1 = s1[:i]
break
for j in range(len(s2)):
if s2[j].isdigit():
num2 = int(s2[j:])
break
d_list = [x for x in range(num1, num2+1, 1)]
r_list = [str1+str(y) for y in d_list]
return r_list
2、问题描述:如果你经常使用Python将网页里的内容、文本里的内容获取想保存在.txt时经常会遇到,编解码错误的问题
详细解决过程:https://blog.csdn.net/qq983392709/article/details/85229091