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:解决切换当前工 ...
随机推荐
- 会了docker你又多了一个谈资(上)
相信有到现在为止还是有很多同学只是听说过docker,但还不了解docker.也很想学习,但是又不知道从何入手,工作中又接触不到,而自己又懒得去翻阅各种学习资料,那么,读完本文,我保证,docker的 ...
- eclipse中安装Activiti插件
由于公司网络问题,不能在线安装,下载到本地的插件,安装也是各种问题,后面终于找到能安装的插件包 1.下载eclipse activiti插件包 链接:https://pan.baidu.com/s/1 ...
- Java-20180419
1.leetcode第二题 给定两个链表,逆序转换为数值相加,在逆序输出新链表. Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)Output: 7 - ...
- python1-集合、函数(全局变量与局部变量)
集合(set) # s=set('hello')# print(s)## s=set(['alex','alex','sb'])# print(s) # s={1,2,3,4,5,6} #添加# s. ...
- nginx第六天
nginx正向代理 反向代理 Nginx正向代理配置 Nginx正向代理使用场景并不多见. 需求场景1: 如果在机房中,只有一台机器可以联网,其他机器只有内网,内网的机器想用使用yum安装软件包,在能 ...
- JAVA笔记4-static关键字
1.static方法中不能使用this关键字 2.例题:static成员变量用于计数
- 28.数组中出现次数超过长度一半的数字(python)
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...
- node之events 模块,并通过实例化 EventEmitter 类来绑定和监听事件
例子来源:http://www.runoob.com/nodejs/nodejs-event-loop.html http://www.runoob.com/nodejs/nodejs-event.h ...
- 计算机网络(八),TCP的滑动窗口
目录 1.RTT和RTO 2.TCP使用滑动窗口做流量控制与乱序重排 3.滑动窗口的基本原理 八.TCP的滑动窗口 TCP头部中的窗口字段:滑动窗口大小,用来告知发送端接受端的缓存大小,以此控制发送端 ...
- BZOJ 1212: [HNOI2004]L语言 trie
长度小于 10 是关键信息~ #include <cstdio> #include <cstring> #include <algorithm> #define N ...