|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
原来的代码
- list1 = ['1.Jost do It ','一切皆有可能','让编程改变世界','Tmpossible is Nothing']
- list2 = ['4.阿迪达斯','2.李宁','3.鱼c工作室','1.耐克']
- list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
- for each in list3:
- print(each)
复制代码 结果就是只出现第一行
我改了一下后出现了逆序输入,我不知道原理,有没有好心的大佬指导一下- list1 = ['1.Jost do It ','一切皆有可能','让编程改变世界','Tmpossible is Nothing']
- list2 = ['4.阿迪达斯','2.李宁','3.鱼c工作室','1.耐克']
- i = 1
- list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[i] == name[i]]
- for each in list3:
- print(each)
- i = i+1
复制代码
本帖最后由 jackz007 于 2022-8-24 23:29 编辑
首先,纠正一下,你的代码抄错了
- list1 = ['1.Jost do It ','2.一切皆有可能','3.让编程改变世界','4.Impossible is Nothing']
- list2 = ['4.阿迪达斯','2.李宁','3.鱼c工作室','1.耐克']
- list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
- for each in list3:
- print(each)
复制代码
按你的代码是不会运行出预期效果的,其次,别人的这一句:
比的是两个字符串的第一个字符:
' 1.Jost do It' ' 1.耐克'
' 2.一切皆有可能' ' 2.李宁'
' 3.'让编程改变世界' ' 3.鱼c工作室'
' 4.Impossible is Nothing' ' 4.阿迪达斯'
为的是要把序号相同的两个字符串找出来并拼接在一起
而你的这一句
- if slogan[i] == name[i] # i = 1
复制代码
比的却是两个字符串的第 2 个字符,也就是字符 '.' ,这个字符 8 个字符串全都相等,那还比它作甚,这个条件肯定一直都是 True。
|
|