给有C或C++基础的Python入门 :Python Crash Course 4 操作列表 4.4 -- 4.5
上接前一篇文章。
4.4 使用列表的一部分
一,切片
切边,顾名思义,就是处理列表的部分元素。
我们可以联系一下C++的一段语句:for(int i = 0; i < n-2; ++i) cout << a[i];
这句语句就是访问了一个有n个元素的数组的1--n-2个元素(下标为0--n-3)。
而这个实现在Python中的实现如下:
players = ['charles', 'martina', 'peter', 'mina']
print(players[:4])
print(players[0:3])
print(players[1:3])
print(players[2:])
print(players[-3:])
2到6的代码分别是:
- 打印列表中第一到第四个元素(下标为0到3)。注意,“ : x”表示下标从0到x-1。“x:”表示下标从x到n-1。
- ’打印列表中第一到第三个元素(下标为0到2)。
- 打印列表中第二到第三个元素(下标为1到2)。
- 从第三个元素开始打印列表元素直到末尾元素(下标从2到n-1)。
- 打印列表中倒数三个元素(下标为n-3到n-1)。注意,为负值时从后开始数。
二,复制列表
先看如下代码:
names = ['peter', 'mina', 'mpeter', 'katherine']
my_friends = names[:] print('I have a list of my friends:')
print(names)
print("However mina have a same list !")
print(my_friends)
print("But mike just have two in my list")
mike_friends = names[0:2]
print(mike_friends)
复制列表的原理其实很简单:
声明一个列表a -> 赋值 -> 再声明一个列表b -> 从头到尾遍历列表a并同时传值到列表b -> 结束。
4.5 元祖
在python中,将不可变的列表称为元祖。
其实,和C++中的const定义常数组一样类似,一旦定义了则不可以修改。
定义规则如下:(用划“()”括号定义)
dimensions = (1, 20, 50, 100)
print(dimensions[0])
print(dimensions[1])
而若想修改,就会报错!
dimensions = (1, 20, 50, 100)
print(dimensions[0])
print(dimensions[1])
#error!!
#dimensions[0] = 2
#print(dimensions[0])
同普通列表一样元祖亦可以遍历:
const_numbers = (1, 2, 3, 4, 5, 6)
for number in const_numbers:
print(number)
如果你想改变元祖的值,你只能重新定义像这样:
const_numbers = (2, 3, 4, 5, 6, 7)
for number in const_numbers:
print(number)
To be continued...
如有错误,欢迎评论指正!
给有C或C++基础的Python入门 :Python Crash Course 4 操作列表 4.4 -- 4.5的更多相关文章
- python入门-python处理csv文件格式相关
python入门-python处理csv文件格式相关 处理 下载的csv格式文件 直接上代码和效果图 import csv from datetime import datetime from mat ...
- 毫无基础的人入门Python,Python入门教程
随着人工智能的发展,Python近两年也是大火,越来越多的人加入到Python学习大军,对于毫无基础的人该如何入门Python呢?这里整理了一些个人经验和Python入门教程供大家参考. 如果你是零基 ...
- 0基础一分钟入门Python
这篇文章面向所有想学python的小伙伴(甚至你从没听过编程),这篇文章将会带你以最快的速度入门python.赶快上车,时间来不及了... 一,下载和安装python 1.下载: 1.1 python ...
- 给有C或C++基础的Python入门 :Python Crash Course 4 操作列表 4.1--4.3
操作列表,也就是遍历列表.本章我们要学的就是如何遍历列表. 4.1--4.2 遍历列表 遍历列表,用for循环. 不同于C++或者C语言的for循环,Python的for循环更容易让人理解. 看一个例 ...
- 零基础一分钟入门Python
这篇文章面向所有想学python的小伙伴(甚至你从没听过编程),这篇文章将会带你以最快的速度入门python.赶快上车,时间来不及了... 一,下载和安装python 1.下载: 1.1 python ...
- Python入门学习教程:数据库操作,连接MySql数据库
各位志同道合的同仁可以点击上方关注↑↑↑↑↑↑ 本教程致力于程序员快速掌握Python语言编程. 本文章内容是基于上次课程Python教程:Python教程:连接数据库,对数据进行增删改查操作 和py ...
- 【Python编程:从入门到实践】chapter4 操作列表
chapter4 操作列表 4.1 遍历整个列表 magicians=['alice','david','carolina'] for magician in magicians: print(mag ...
- 毫无基础的人入门Python,Python新手入门教程2
1.6 面向对象和内存分析086.面向对象和面向过程的区别_执行者思维_设计者思维087.对象的进化故事088.类的定义_类和对象的关系089.构造函数__init__090.实例属性_内存分析091 ...
- python入门-python解释器执行
最近由于公司需要,接触了python这门神奇的语言,给我的感觉就是开发快速和代码简洁. 开始还是先罗列一下解释性语言和编译性语言的差别吧0.0! 编译性语言:是在程序运行前,需要专门的一个编译过程 ...
随机推荐
- kali linux 信息收集(Kismet)
1.kismet工具,是一个无线扫描工具,该工具通过测量周围的无线信号,可以扫描到周围附近所用可用的Ap,以及信道等信息.同时还可以捕获网络中的数据包到一个文件中.这样可以方便分析数据包.下面我将详细 ...
- ajax--参数默认值问题
注:通过参数默认值,能让参数映射更加灵活,有些参数可以不必传递,如果传递则 覆盖默认.并且永远都是后面的覆盖前面的内容 通过$.extend合并对象 语法1: var newobj= $.extend ...
- Oracle logminer 日志挖掘
Table of Contents 1. LOGMNR简介 2. 创建数据字典 2.1. 外部文件存储数据字典 2.2. redo log 存储数据字典 3. 添加需要分析的文件 4. 开始分析文件 ...
- docker 给none镜像打镜像
1.遇到none的镜像打tag方式: docker tag + docker ID + 命名:版本名 案例:docker tag 41b7307026c0 gitlab:test 这就 ...
- idea首次创建新模块的详细操作
依赖网址:https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api/3.1.0 https://mvnrepository. ...
- I: Carryon的字符串排序(字典树/map映射)
2297: Carryon的字符串 Time Limit: C/C++ 1 s Java/Python 3 s Memory Limit: 128 MB Accepted ...
- HDU 4763 Theme Section(KMP灵活应用)
Theme Section Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To ...
- 解决bootstrap多模态框跳转时页面左移问题
衍生问题暂未发现.... 忽略左右跳动视觉差 解决方法: 在bootstrap的js搜索padding-right,然后找到“+this.scrollbarWidth”,删掉即可.
- Win10如何禁止软件运行?win10禁止软件启动的设置方法!禁止人生日历热点快讯的方法
相信不少使用Win10系统的用户遇到过下载了一款软件进行安装后后续会有接连不断的程序安装到电脑中.他可能似乎一个大家常用的程序,在我们安装好运行的时候会通过后台偷偷下载其他应用安装到我们电脑中,导致系 ...
- Facebook的React Native之所以能打败谷歌的原因有7个(ReactNative vs Flutter)
https://baijiahao.baidu.com/s?id=1611028483072699113&wfr=spider&for=pc 如果你喜欢用(或希望能够用)模板搭建应用, ...