跟着廖雪峰学python 003

编辑
列表和元组
list 是一种有序、可变的数据类型,可添加删除其中的元素。
len()函数:可以获取列表元素的个数
classmates = ['Micheal' , 'Bob' , 'James']
print(classmates)
print(len(classmates))
Terminal:
编辑
用索引来读取列表里的元素,从0开始,最后一个可以用-1或len(classmates)-1表示
classmates = ['Micheal' , 'Bob' , 'James']
print(classmates[0])
print(classmates[-1])
print(classmates[len(classmates)-1])
Terminal:
编辑
倒数第二位可以用-2表示,以此类推。索引超出范围会报错
append()函数:列表末尾加元素
insert()函数:在列表指定位置添加元素
pop()函数:删除列表指定位置元素,括号空默认删除最后一个元素
classmates = ['Micheal' , 'Bob' , 'James']
print(classmates)
classmates.append('Lebron')
print(classmates)
classmates.insert(1,'Jordan')
print(classmates)
classmates.pop()
print(classmates)
classmates.pop(1)
print(classmates)
Terminal:
编辑
列表中的某个元素换成其他,可以直接赋值给对应的索引位置
classmates = ['Micheal' , 'Bob' , 'James']
classmates[1]='Jordan'
print(classmates)
Terminal:
编辑
列表中的元素数据类型可以不同,列表也可以作为另一个列表的元素
L = ['Apple', 123, True]
S=['php','html']
L.insert(1,S)
print(L)
print(len(L))
print(L[1][0])
Terminal:
编辑
tuple:元组,是一种有序列表
tuple和list相似,但是tuple一旦初始化就不可以修改,也不可以使用上面的添加、删除函数,但可以通过索引地址正常读取
classmates = ('Michael', 'Bob', 'Tracy')
print(classmates[0])
print(classmates[-1])
Terminal:
编辑
因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple
tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来
定义一个空的tuple 写成:t = ()
定义一个元素的tuple 写成:t = (1) ×
这样定义的不是tuple,是
1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。所以,只有1个元素的tuple定义时必须加一个逗号
,,来消除歧义:如: t = (1, )
Python在显示只有1个元素的tuple时,也会加一个逗号,以免你误解成数学计算意义上的括号。
当tuple中的一个元素是列表时,可以改变列表里的元素
t = ('a', 'b', ['A', 'B'])
t[2][0] = 'X'
t[2][1] = 'Y'
print(t)
Terminal:
编辑
tuple的不变指的是元素指向永远不变,上面指向的列表一直都是相同的列表,改变的是列表里的元素。
条件判断
age = 3
if age >= 18:
print('your age is', age)
print('adult')
else:
print('your age is', age)
print('teenager')
Terminal:
编辑
elif是else if的缩写,完全可以有多个elifage = 3
if age >= 18:
print('adult')
elif age >= 6:
print('teenager')
else:
print('kid')
Terminal:
编辑
if x:
print('True')
只要
x是非零数值、非空字符串、非空list等,就判断为True,否则为False
编辑
跟着廖雪峰学python 003的更多相关文章
- 跟着老王学Python
亲爱的朋友: 欢迎你!很高兴能在这里见到你,你能来到这里说明你真的很喜欢python,很想把python给学好!我觉的你很幸运,开始我学python的时候比较少资料,学起来也比较头疼,现在随着 ...
- 廖雪峰老师Python教程读后笔记
廖老师网站:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 花几天时间看了廖老师的 ...
- 跟着高淇学Python——第一到第三章总结
2019/10/26 第一章:Python介绍 Python是一种解释型,面向对象的语言.特点是: 可读性强 简洁,简洁 面向对象 免费开源 可移植性和跨平台性 丰富的库 可扩展性 应用范围:1.人工 ...
- 进程 vs. 线程(python的协程)(转廖雪峰老师python教程)
我们介绍了多进程和多线程,这是实现多任务最常用的两种方式.现在,我们来讨论一下这两种方式的优缺点. 首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Work ...
- python 协程(单线程中的异步调用)(转廖雪峰老师python教程)
协程,又称微线程,纤程.英文名Coroutine. 协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用. 子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在 ...
- 【廖雪峰老师python教程】——进程与线程
多进程 操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换到任务2,任务2执行0.01秒,再切换到任务3,执行0.01秒……这样反复执行下去.表面上看,每个任务都是交替执行的,但是,由于CPU ...
- 【廖雪峰老师python教程】——IO编程
同步IO 异步IO 最常见的IO——读写文件 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一 ...
- 【廖雪峰老师python教程】——错误和调试
错误处理 try...except...finally...机制 try: print('try...') r = 10 / 0 print('result:', r) except ZeroDivi ...
- 【廖雪峰老师python教程】——OOP
概述 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 数据封装.继承和多态 ...
- 【廖雪峰老师python教程】——模块
使用模块 任何模块代码的第一个字符串都被视为模块的文档注释: 使用__author__变量把作者写进去,这样当你公开源代码后别人就可以瞻仰你的大名: 当我们在命令行运行模块文件时,Python解释器把 ...
随机推荐
- Spring Cloud Circuit Breaker 使用示例
Spring Cloud Circuit Breaker 使用示例 作者: Grey 原文地址: 博客园:Spring Cloud Circuit Breaker 使用示例 CSDN:Spring C ...
- 重学c#系列——动态类型[二十二]
前言 该系列准备继续完善,一共108篇,持续更新. 正文 为什么有动态类型呢? 是因为很多东西天生就是动态类型的. 比如xml 和 json.cvs.数据库表,这些本来就是数据类型的. 在反射系列中提 ...
- C温故补缺(八):结构体与共用体
结构体与共用体 结构体 是一个可以存储多个不同类型的变量的结构,类似于面对对象中的类(只有成员变量的类). struct tag { member-list member-list member-li ...
- qtcreator修改界面但是没有更新
原因 我之前修改了项目名(简单的修改文件夹和.pro文件名),但是项目构建的位置还是之前目录. 解决 将 build directory改为新的目录即可.
- JS逆向实战9——cookies DES加密混淆
cookie加密 DES 混淆 目标网站:aHR0cHM6Ly90bGNoZW1zaG9wLnlvdXpoaWNhaS5jb20vbWFpbi90ZW5kP05vdGljZUNhdGVJZD0xJk5 ...
- Kafka教程(一)基础入门:基本概念、安装部署、运维监控、命令行使用
Kafka教程(一)基础入门 1.基本概念 背景 领英->Apache 分布式.消息发布订阅系统 角色 存储系统 消息系统 流处理平台-Kafka Streami ...
- 【kafka】connect的timestamp模式无法同一秒插入多条记录问题解决
一.现在问题 同时插入多条时间戳相同的记录 INSERT INTO "ABANK" VALUES ('1', 'CH', '00211', 'UBS Switzerland AG' ...
- 【每日一题】【回溯backtrace】N皇后
n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击. 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案. 每一种解法包含一个不同的 n 皇后问 ...
- 【Spark】Day04-Spark Streaming:与离线批量比较、架构特点、入门案例、创建(队列、数据源)、转换(有状态、无状态)、输出方式、进阶(累加、转换为DF、缓存持久化)、实战(窗口统计)
一.概述 1.离线和实时计算 离线:数据量大,数据不会变化,MapReduce 实时:数据量小,计算过程要短 2.批量和流式处理 批量:冷数据,数据量大,速度慢 流:在线.实时产生的数据(快速持续到达 ...
- Hexo博客搭建和简单部署
title: Hexo博客搭建和简单部署 date: 2020-03-02 12:00:00 categories: - [IT,博客] - [IT,软件,程序] - [IT,软件,搭建与配置] ta ...









