Self123 发表于 2020-10-21 21:10:12

for 数组中的[2:]是啥意思啊?

list3 = for slogan in list1 for name in list2 if slogan == name]
这是我看作业里的看不懂

Self123 发表于 2020-10-21 21:14:13

求大佬解答

kylin121380 发表于 2020-10-21 21:33:36

slogan = ‘123456’
slogan = '3456'

昨非 发表于 2020-10-21 21:37:07

列表切片操作
详细语法请参考
https://www.runoob.com/python3/python3-list.html

笨鸟学飞 发表于 2020-10-21 22:24:21

list3 = for slogan in list2 for name in list3 if slogan == name]
是列表推导式:
等同于:
for slogan in list2:         #遍历列表list2,首次循环slogan = '1.q'
    for name in list3:         #遍历列表list3,第2次时循环 name = '1.6'
      if slogan == name:#判断序号是否相等
            list3 = name + ":"+slogan#如果相等,则把字符串切片,顺序是0,1,2,也就是6q
==============上面是以前回答别人的,对你应该也适用============
列表切片例如列表list=
list就是把列表list从索引2开始到末尾全部切片,等于

Self123 发表于 2020-10-21 22:40:47

笨鸟学飞 发表于 2020-10-21 22:24
list3 = for slogan in list2 for name in list3 if slogan == name]
是列 ...

老哥还是你这好,刚刚没看见没添加上最佳

Self123 发表于 2020-10-23 20:01:58

笨鸟学飞 发表于 2020-10-21 22:24
list3 = for slogan in list2 for name in list3 if slogan == name]
是列 ...

老哥还有点疑问,希望解答下,>>> list1 = ['1.Jost do It','2.一切皆有可能','3.让编程改变世界','4.Impossible is Nothing']
>>> list2 = ['4.阿迪达斯','2.李宁','3.鱼C工作室','1.耐克']
>>> list3 = for slogan in list1 for name in list2 if slogan == name]
>>> for each in list3:
        print(each)

       
1.耐克:Jost do It
2.李宁:一切皆有可能
3.鱼C工作室:让编程改变世界
4.阿迪达斯:Impossible is Nothing



他是怎么把列表1和2的排列顺序弄整齐的?

笨鸟学飞 发表于 2020-10-23 20:38:08

for slogan in list2:         #遍历列表list2,首次循环slogan = '1.q'
    for name in list3:         #遍历列表list3,第2次时循环 name = '1.6'
      if slogan == name:#判断序号是否相等,例如字符串'1.Jost do It'和'1.耐克',slogan是1,name也是1
            list3 = name+ ":"+slogan#如果相等,则把字符串切片后合并,就是1.耐克+:+just do It
--------------不好意思,前面的打字快了搞错了--------------

Self123 发表于 2020-10-23 22:37:21

本帖最后由 Self123 于 2020-10-23 22:40 编辑

笨鸟学飞 发表于 2020-10-23 20:38
for slogan in list2:         #遍历列表list2,首次循环slogan = '1.q'
    for name in list3:      ...
哦哦哦我知道了,slogan是list1的第0个字符串的第一个字符。谢谢谢
页: [1]
查看完整版本: for 数组中的[2:]是啥意思啊?