1、列表list中使用

1、range()生成器

就是list取值的一种方式。

  • 生成器range(),用于写列表的范围,如果只写一个数,就表示从0开始,到写入的值-1:
l=list(range(10))#生成的是[0,1,2,3,4,5,6,7,8,9]
  • 如果写入范围,则是从写入的第一个数值开始,从写入的第二个数-1结束:
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、 步长

步长是从自己元素开始,再走几步到想要的元素:

nums=list(range(1,11))
print(nums[1::2])#打印偶数
#1 2 3 4 5 6 ...10
print(nums[::2])#打印奇数
print(nums[::-2]) #取偶数,从右往左取值

步长特点:

  • 如果步长是正数的话,就从前往后开始取值;
  • 如果步长是负数的话,就从后往前开始取值,类似于reverse()。

2、字符串中使用

字符串也有下标,使用上跟在列表中一致:

words='中秋节要上课'
print(words[0])
print(words[::-1])

3、面试题

#判断一个字符串是否是回文,即:字符串和它反转后的字符串是否相等,如果相等就是回文。
s='上海自来水来自海上'
#
#
# 回文算法,反过来倒过去都一样 for i in range(10):
s = input('请输入一个字符串:')
if len(s)<2:
print('字符串长度必须大于2')
elif s==s[::-1]: #.reverse()方法是列表中的方法,字符串中没有,因此只能用切片方法
print('是回文')
else:
print('不是回文')

Python之切片操作的更多相关文章

  1. Python字符串切片操作知识详解

    Python字符串切片操作知识详解 这篇文章主要介绍了Python中字符串切片操作 的相关资料,需要的朋友可以参考下 一:取字符串中第几个字符 print "Hello"[0] 表 ...

  2. python的切片操作

    切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割.注意这与你使用的索引操作符十分相似.记住数是可选的,而冒号是必须的. 切片操作符中的第一个数(冒号之前)表示切片开始的位置,第 ...

  3. Python利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:

    这是一个最简单的自定义函数,自己调用自己,我的理解是这样的: 1.传一个s参数进行判断,如果有空字符它会切掉前后的空字符,返回一个新的s,这个新的s还有的话会继续执行这种重复的操作,类似于递归(博主不 ...

  4. python之切片操作,实现一个trim()函数,去除字符串首尾的空格.

    # -*- coding: utf-8 -*- def trim(s): if len(s)==0: return '' if s[:1]==' ': return trim(s[1:]) elif ...

  5. 彻底搞懂Python切片操作

        在利用Python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器.理论上而言,只要条件表达式得当,可以通过单次或多次切片操作实现任 ...

  6. Python array,list,dataframe索引切片操作 2016年07月19日——智浪文档

    array,list,dataframe索引切片操作 2016年07月19日——智浪文档 list,一维,二维array,datafrme,loc.iloc.ix的简单探讨 Numpy数组的索引和切片 ...

  7. Python序列的切片操作与技巧

    切片操作 对于具有序列结构的数据来说,切片操作的方法是:consequence[start_index: end_index: step]. start_index: 表示是第一个元素对象,正索引位置 ...

  8. 关于javascript里面仿python切片操作数组的使用方法

    其实在使用了好一段时间的 python之后,我觉得最让我念念不忘的并不是python每次在写函数或者循环的时候可以少用{}括号这样的东西(ps:其实也是了..感觉很清爽,而且又开始写js的时候老是想用 ...

  9. python学习之“切片操作从入门到精通”

    在python学习开发的过程中,我们总是不断的要对List(列表),Tuple(元组)有取值操作:假如我们有一个列表List1现在想取出1其中的前5个元素,改怎么操作呢? >>> L ...

随机推荐

  1. jvm结构

    JVM的基本结构及其各部分详解(一)  https://www.cnblogs.com/zwbg/p/6194470.html JVM的基本结构及其各部分详解(二) https://www.cnblo ...

  2. Jetbrains IntelliJ IDEA PyCharm 注册激活(2018最新)

    AppCode CLion DataGrip GoLand IntelliJ IDEA PhpStorm PyCharm Rider RubyMine WebStorm下载注册激活 官方下载地址 Ap ...

  3. 【PAT】B1011 A+B 和 C

    注意数据的范围,使用long long就行了 #include<stdio.h> int main(){ int N;scanf("%d",&N); for(i ...

  4. 文件上传漏洞靶场:upload-labs安装及第一关教程

    注:本文仅供学习使用,请勿用于非法操作,后果与作者无关!!! 一.简介 upload-labs是一个使用php语言编写的,专门收集渗透测试过程中遇到的各种上传漏洞的靶场.旨在帮助大家对上传漏洞有一个全 ...

  5. 关于phpstorm ftp目录乱码

    关于IIS FTP服务器汉字文件目录乱码问题:一般来说,IIS 服务器编码默认为GBK,而你的目录可能是UTF-8,将phpstorm的远程连接设置为GBK就OK了.记住服务器的编码,文件的编码要统一

  6. March 09th, 2018 Week 10th Friday

    All good things must come to an end. 好景无常. Love is when the other person's happiness is more importa ...

  7. Maven——settings.xml配置

    settings.xml配置 原文 <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed ...

  8. node express 上传文件

    npm install --save multer var fs = require('fs'); var multer = require('multer'); var upload = multe ...

  9. MyBatis动态SQL之一使用 if 标签和 choose标签

    bootstrap react https://segmentfault.com/a/1190000010383464 xml 中 < 转义 to thi tha <if test=&qu ...

  10. 使用Docker在本地搭建Hadoop分布式集群

    学习Hadoop集群环境搭建是Hadoop入门必经之路.搭建分布式集群通常有两个办法: 要么找多台机器来部署(常常找不到机器) 或者在本地开多个虚拟机(开销很大,对宿主机器性能要求高,光是安装多个虚拟 ...