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:解决切换当前工 ...
随机推荐
- (转)linux特殊文件名字删除不了怎么办
1. 文件名含有特殊字符,直接使用 rm 可能删除不了,可以使用如下方法: 1) 使用 ls -i 查处该文件的 inode 号,假设为654321 2) 使用find命令删除 find ./ -in ...
- xss技巧记录
1.iframe的srcdoc属性 先演示一下 <iframe srcdoc="<script>alert(1)</script>"> 浏览器渲 ...
- Euler-path
对于每个连通块欧拉回路存在的条件 无向图:只存在两个或者零个度数为奇数的点 有向图:每个点的入度等于出度或者至多有两个点入度不等于出度且一个出度比入度多一另一个入度比出度多一 HDU 多校第二场 C. ...
- JAVA项目中的常用的异常处理情况总结
可能遇见的异常或错误: 检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的.例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略. 运行时异常: ...
- eclipse编码格式(中文乱码)
https://jingyan.baidu.com/article/2009576193ee38cb0721b416.html 修改工作空间默认编码 1 进入Eclipse,导入一个项目工程,如果项目 ...
- BZOJ4641 基因改造[KMP]
这道题以前好像模拟的时候做过,当时不会做,于是用hash水过去了.. 正解是KMP,还是用当前字符与上一次相同字符位置的距离表示数组,于是数值相等时就代表相似.第一次出现用INF代替. 然后要匹配有多 ...
- 使用ajax上传图片,并且使用canvas实现出上传进度效果
前端代码: <%@ page contentType="text/html;charset=UTF-8" language="java" %> &l ...
- grunt-contrib-jshint js代码检查
grunt-contrib-jshint:用于javascript代码检查(并会给出建议),发布js代码前执行jshint任务, 可以避免出现一些低级语法问题jshint拥有非常丰富的配置,可以自由控 ...
- C#生成的后台文件 ***.vshost.exe
vshost是visual studio宿主应用程序,vs运行调试时是打开的其实是这个文件,这个程序可以让vs跟踪调试信息.而exe则可以直接打开,vs不会跟踪任何这个文件的运行情况.只要引用的程序集 ...
- 常见的 DOCTYPE 声明
HTML 5 <!DOCTYPE html> HTML 4.01 Strict 这个 DTD 包含所有 HTML 元素和属性,但不包括表象或过时的元素(如 font ).框架集是不允许的. ...