咦小妖精 发表于 2020-12-16 20:59:55

用索引值打印列表里面的值为什么打全啊?求大神解答一下,代码在下面

str1 ='aASDASDdsfhsado'
list1 = []
for each in str1:
   
    list1.append(each)
print(list1)

for each1 in list1:   
    if each1.islower():
      b1 = list1[(list1.index(each1)-1)]
      print(b1)
      
      
      
      
   

永恒的蓝色梦想 发表于 2020-12-16 21:04:22

???

昨非 发表于 2020-12-16 21:21:59

为什么打全
是指什么意思?

咦小妖精 发表于 2020-12-17 21:18:06

昨非 发表于 2020-12-16 21:21
是指什么意思?

就是上面一段代码,我认为结果应该是 o D d s f h s a d但是打出的结果却是 o D d s f d o D d ,我不知道为什么,我昨天没有说清楚,抱歉。

咦小妖精 发表于 2020-12-17 21:18:40

昨非 发表于 2020-12-16 21:21
是指什么意思?

就是上面一段代码,我认为结果应该是 o D d s f h s a d但是打出的结果却是 o D d s f d o D d ,我不知道为什么,我昨天没有说清楚,抱歉了。

昨非 发表于 2020-12-17 21:22:28

咦小妖精 发表于 2020-12-17 21:18
就是上面一段代码,我认为结果应该是 o D d s f h s a d但是打出的结果却是 o D d s f d o D d ,我不 ...

你先等一下,我看看哈

昨非 发表于 2020-12-17 21:30:00

给你加了几行注释,应该是清楚了
看好了:
str1 ='aASDASDdsfhsado'
list1 = []
for each in str1: #遍历字符串,将字符全部加入list1列表
    list1.append(each)
print(list1)#输出列表

for each1 in list1:

    if each1.islower():#遍历列表取其中小写字母
      print(each1,'是小写字符,它的索引减一的字符为:')
      b1 = list1[(list1.index(each1)-1)]
      print(b1)
      

输出结果为:
['a', 'A', 'S', 'D', 'A', 'S', 'D', 'd', 's', 'f', 'h', 's', 'a', 'd', 'o']
a 是小写字符,它的索引减一的字符为:
o
d 是小写字符,它的索引减一的字符为:
D
s 是小写字符,它的索引减一的字符为:
d
f 是小写字符,它的索引减一的字符为:
s
h 是小写字符,它的索引减一的字符为:
f
s 是小写字符,它的索引减一的字符为:
d
a 是小写字符,它的索引减一的字符为:
o
d 是小写字符,它的索引减一的字符为:
D
o 是小写字符,它的索引减一的字符为:
d

昨非 发表于 2020-12-17 21:31:51

加了第十行,整个过程就清晰了

咦小妖精 发表于 2020-12-17 22:27:33

昨非 发表于 2020-12-17 21:31
加了第十行,整个过程就清晰了

明白了,谢谢

昨非 发表于 2020-12-17 22:35:55

咦小妖精 发表于 2020-12-17 22:27
明白了,谢谢

记得设置为最佳答案

qq1151985918 发表于 2020-12-17 22:54:03

因为每次index索引是从list1的第一个元素开始,你后边的 s a d 已经在list1的最前边有元素了,所以就是运行的结果。
页: [1]
查看完整版本: 用索引值打印列表里面的值为什么打全啊?求大神解答一下,代码在下面