1、列表list中使用
1、range()生成器
就是list取值的一种方式。
- 生成器range(),用于写列表的范围,如果只写一个数,就表示从0开始,到写入的值-1:
l=list(range(10))#生成的是[0,1,2,3,4,5,6,7,8,9]
- 如果写入范围,则是从写入的第一个数值开始,从写入的第二个数-1结束:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
l=list(range(1,11))
l=['a','b','c','d','e','j','k','l','m','n','o']
# 0 1 2 3 4 5 6 7 8 9 10
print(l[2:8])#顾头不顾尾
print(l[:5])#如果冒号前面没写的话,代表从0开始取的
print(l[4:])#如果冒号后面没写的话,代表取到最后
print(l[:])#如果冒号前后都没写的话,代表取全部
切片操作的特点:
- 顾头不顾尾
- 使用range()生成器时,如果冒号前面没写的话,代表从0开始取元素
- 使用range()生成器时,如果冒号后面没写的话,代表取到最后的元素
- 如果冒号前后都没写的话,代表取全部
2、 步长
步长是从自己元素开始,再走几步到想要的元素:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
nums=list(range(1,11))
print(nums[1::2])#打印偶数
#1 2 3 4 5 6 ...10
print(nums[::2])#打印奇数
print(nums[::-2]) #取偶数,从右往左取值
步长特点:
- 如果步长是正数的话,就从前往后开始取值;
- 如果步长是负数的话,就从后往前开始取值,类似于reverse()。
2、字符串中使用
字符串也有下标,使用上跟在列表中一致:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
words='中秋节要上课'
print(words[0])
print(words[::-1])
3、面试题
#判断一个字符串是否是回文,即:字符串和它反转后的字符串是否相等,如果相等就是回文。
s='上海自来水来自海上'
# 1232321
# 1111
# 回文算法,反过来倒过去都一样
for i in range(10):
s = input('请输入一个字符串:')
if len(s)<2:
print('字符串长度必须大于2')
elif s==s[::-1]: #.reverse()方法是列表中的方法,字符串中没有,因此只能用切片方法
print('是回文')
else:
print('不是回文')