Python学习之==>数组(二)
1、切片
# 切片:是list取值的一种方式
nums = ['段佳琳','陈伟良','王占宇','李波','韶钢']
print(nums[1:3]) # 顾头不顾尾,不包含后面下标的元素
print(nums[1:]) # 从某个下标开始取,取到末尾,末尾的下标可以省略不写
print(nums[:2]) # 从头开始取,取到后面某个下标结束(不包括该下标的元素),开头的下标可以不写
print(nums[:]) # 取所有的元素
切片操作同样适用于字符串,如下:
info = '你好,今天天气很好'
print(info[2:6:1])
s = 'San Francisco'
print(s[0])
print(s[::-1])
2、步长
# 步长,隔几个取一次
lis = list(range(1,21)) # 产生一个从1~20的一个数组
print(lis)
# 如果步长是正数,从左往右开始取值
print(lis[::2])
print(lis[0:10:2])
# 如果步长是负数,从右往左开始取值
print(lis[::-2]) # 步长,隔个几个取一次
print(lis[::-1]) # 反转list,产生了一个新的list,不会改变原来list的值,与reverse不同
print(lis)
# -1倒序,从下标为1的元素'2'从右往左取值,因结尾没有取值,所以取到下标为0的元素
print(lis[1::-1])
# -1倒序,开头没有取值,所以默认从20往左取值,取到下标为18的元素‘19’,但不顾尾,所以19不取
print(lis[:18:-1])
3、list循环
# for循环在循环可迭代对象的时候,每次循环的是里面的每一个元素
lists = ['段佳琳','陈伟良','王占宇','李波','韶钢',[1,2,3,4]]
for name in lists:
print(name)
for name in lists:
if type(name) == list: # 判断变量的类型是否为list类型
for i in name:
print(i)
print(name) # 字符串循环的是每一个字符,包括任何字母、符号及空格
words = 'marry,lily,joker'
for name in words:
print(name)
4、数组练习
# 统计出所有已交和未交作业的名字及人数
stus = [
['小明','未交'],
['小白','已交'], ['小紫','已交'],
['小红','未交'], ['小绿','未交'],
['小黄','未交'], ['小黑','已交']
] pass_list = [] #已交
fail_list = [] #未交
for stu in stus:
name = stu[0]
status = stu[1]
if status == '已交':
pass_list.append(name)
else:
fail_list.append(name)
print('已交作业的人为:%s,总共有%s人'%(pass_list,len(pass_list)))
print('未交作业的人为:%s,总共有%s人'%(fail_list,len(fail_list)))
5、元组
# 元组也是一个list,它和list的区别是:元组里面的元素无法修改
t = (1,2,3,4,5,6,7)
print(type(t)) #查看变量类型
print(t[:3]) #切片
print(t[1]) #下标取值 # 元组的元素是不能修改的,一般用于定义数据库连接等不能修改的数据,如下:
lists = (
'192.168.0.1',
'root',
'',
'',
'niuhanyang') # 如果元组里面只有一个元素,那么必须在这个元素后面加一个逗号
t = (1,2,3,4,5,6,7,2)
words=(1,)
words2=('abc',)
print(type(words))
print(type(words2))
print(t.index(2)) # 找到元组的下标,如果有多个相同的元素,返回的是第一个元素的下标
print(t.count(2)) # 找到元素的个数
Python学习之==>数组(二)的更多相关文章
- python学习之数组二
作用于数组的函数: 通用函数:函数基于元素的,以单元方式作用于数组的,返回的是与原数组具有相同形状的数组. 不通用函数(数组函数):函数能以行或者列的方式作用于整个矩阵:如果没有提供任何参数时,它们将 ...
- Python学习之数组类型一:
Python学习之数组类型一: Numpy中的向量与矩阵: 1.创建: 向量.矩阵均由array函数创建,区别在于向量是v=array( [逗号分隔的元素] ), 矩阵是M=array( [[ ]] ...
- Python学习笔记(二)——列表
Python学习笔记(二)--列表 Python中的列表可以存放任何数据类型 >>> list1 = ['Hello','this','is','GUN',123,['I','Lov ...
- 【Python学习笔记之二】浅谈Python的yield用法
在上篇[Python学习笔记之一]Python关键字及其总结中我提到了yield,本篇文章我将会重点说明yield的用法 在介绍yield前有必要先说明下Python中的迭代器(iterator)和生 ...
- Python学习笔记(二):条件控制语句与循环语句及常用函数的用法
总结的内容: 1.条件控制语句 2.while循环语句 3.for循环语句 4.函数的用法 一.条件控制语句 1.介绍 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决 ...
- Python学习系列(二)(基础知识)
Python基础语法 Python学习系列(一)(基础入门) 对于任何一门语言的学习,学语法是最枯燥无味的,但又不得不学,基础概念较繁琐,本文将不多涉及概念解释,用例子进行相关解析,适当与C语言对比, ...
- python学习02python入门二
学前须知:1.本文档有关内容均建立在python3.x版本上,python2.x已经成为历史,如有需要,文内会特别说明. 2.本文使用的编辑器多为架构在Windows上的pycharm,如需了解Lin ...
- Python学习笔记(十二)—Python3中pip包管理工具的安装【转】
本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...
- Python学习笔记(二)网络编程的简单示例
Python中的网络编程比C语言中要简洁很多,毕竟封装了大量的细节. 所以这里不再介绍网络编程的基本知识.而且我认为,从Python学习网络编程不是一个明智的选择. 简单的TCP连接 服务器代码如 ...
- [Python学习]错误篇二:切换当前工作目录时出错——FileNotFoundError: [WinError 3] 系统找不到指定的路径
REFERENCE:<Head First Python> ID:我的第二篇[Python学习] BIRTHDAY:2019.7.13 EXPERIENCE_SHARING:解决切换当前工 ...
随机推荐
- kubernetes如何访问pod服务
一.通过 Service 访问 Pod: 我们不应该期望 Kubernetes Pod 是健壮的,而是要假设 Pod 中的容器很可能因为各种原因发生故障而死掉.Deployment 等 control ...
- (转)Linux传输大文件(分割传输)
1.分拆为多个文件的命令: cat workspace_2018.tar.gz | split -b 1G - workspace_2018.tar.gz. 命令解释: workspace_2018. ...
- Gym - 101234J Zero Game (单调队列)
题意:有一个长度为n的01序列,你可以移动k次,每次将一个数移到任意一个位置,求经过操作后区间连续最大的连续0的个数. “移动”操作看似情况很复杂,不好讨论,但其实无非就两种情况: 一.移动的是1:显 ...
- DevExpress ASP.NET Core v19.1版本亮点:Visual Studio集成
行业领先的.NET界面控件DevExpress 发布了v19.1版本,本文将以系列文章的方式为大家介绍DevExpress ASP.NET Core Controls v19.1中新增的一些控件及增强 ...
- JAVA排序算法(一)冒泡排序、选择排序
/* 冒泡排序 * * 相邻的元素,两两比较.如果第一个比第二个大,就交换他们两个. 大的后移 * 对每一对相邻元素做同样的工作,这样第一轮结束后,最大值在最后一个. */ public static ...
- ng-reapte指令遍历
<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta cha ...
- ES6 Promise使用介绍
1.什么是Promise Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大. 这么说可能不够直观的理解,看下面的两个例子 // callback回调函数 ...
- JS中生成随机数
1.Math 对象方法: Math.ceil(); //向上取整. Math.floor(); //向下取整. Math.round(); //四舍五入. Math.random(); //0.0 ~ ...
- 在网页中嵌套网页的方法(frame)
在网页中嵌套网页目前通用的方法是通过 frame 框架来完成,该方法有实际的应用意义.也能很好的解决一些问题. 但是 JS 在操作的时候需要同源(不能跨域), 否则一切 js 相关的操作无法完成. 切 ...
- AtCoder AGC022C Remainder Game (图论)
题目链接 https://atcoder.jp/contests/agc022/tasks/agc022_c 题解 大水题一道 就他给的这个代价,猜都能猜到每个数只能用一次 仔细想想,我们肯定是按顺序 ...