Python 列表,元组,字典
时间:2019-08-31
本文章向大家介绍Python 列表,元组,字典,主要包括Python 列表,元组,字典使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
0)字符串切片
py_str = 'python' >>>py_str[0] #取第一个字符串,返回值为"p",超出范围会报错 >>>py_str[-2] #取倒数第二个字符串,返回值为"o",-1则为倒数第一 >>>py_str[2:4] #取第二和第三个字符串,返回至为"th" >>>py_str[2:] #取第二个和后面全部的字符串,返回至为"thon" >>>py_str[:4] #取前四个字符串,返回值为"pyth" >>>py_str[::2] #取(步长值)0,2,4,6,8...相当于[0::2],返回至"pto" >>>py_str[1::2] #返回值"yhn"1,3,5,7... >>>py_Str[::-1] #反着取,返回值"nohtyp" >>>t in py_str #返回true >>>t not in py_str #返回false >>>py_str.lower() #大写转换成小写 >>>py_str.upper() #小写转换成大写 >>>py_str.capitalize() #首字母大写 >>>py_str.strip() #去除字符串两边的空白(包含空格,tab键,回车等) >>>py_str.lstrip() #去除字符串左边的空白 >>>py_str.rstrip() #去除字符串右边的空白 >>>py_str.center(3,'#') #用三个"#"填充两边,让字符串占中间(居中),输出结果为###python### >>>'abc' + 'xyz' #合并操作,返回'abcxyz' >>>'*' * 5 #重复操作,返回'*****'
1)列表的操作
>>>alist = [1,2,'bob','alice',[10,20]] >>>len[alist] #输出列表长度,返回5 >>>alist[0] #查看列表第一个值,像字符串一样支持下标和切片操作 >>>alist #查看列表全部值或者alis[0:5] >>>2 in alist #返回true >>>'bob' in alist #返回true,字符要带引号(单引号和双引号无区别) >>>alist.append(4) #在列表的尾处追价一个4 >>>alist.insert(3,5) #在下标为3的位置加一个5 >>>alist.sort() #按升序排列,从小到大 >>>alist.reverse #翻转,倒序 >>>alist.pop() #删除元素,默认删除最后一个 >>>alist.pop(2) #根据下标弹出元素
python 创建二维列表,将需要的参数写入 cols 和 rows 即可
>>> list_2d = [[0 for col in range(cols)] for row in range(rows)] >>> list_2d = [ [0 for i in range(5)] for i in range(5)] #第一个for把0循环五次,第二个for把第一个for循环五次 >>> [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] >>> list_2d[0].append(3) >>> list_2d[0].append(5) >>> list_2d[2].append(7) >>> list_2d [[0, 0, 0, 0, 0, 3, 5], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 7], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
2)元组的操作 #相当于静态的列表,一旦定义不可更改,用得比较少,一般用列表比较多
>>>atuple = (1,"tom",2,"alice") #注意此处用的是小括号(),列表用的是方括号[]
3)字典 #用大括号{}定义的键值对(key-value)映射关系,无序类型
>>>adict = {'name':'bob','age':23} #不能像列表那样通过下标获取值 >>>len(adict) #输出字典长度为2 >>>name in adict #返回true >>>bob in adict #返回false >>>adict['name'] #取某个键的值,注意带引号 >>>adict['age'] = 25 #修改或删除已有键/值对 >>>del adict['name'] #删除键是'name'的条目 >>>dict.clear() #清空词典所有条目 >>>del adict #删除词典 >>>print adict.get('age') #打印age这个key所对应的value值,若没有则返回none >>>adict.values() #以列表返回字典中的所有值 >>>adict.items() #数以列表返回可遍历的(键, 值) 元组数组。
4)数字类型比较
=按存储模型分类
-标量类型:数值、字符串
-容器类型:列表、元组、字典
=按更新模型分类
-可变类型:列表、字典
-不可变类型:数字、字符串、元组
=按访问模型分类
-直接访问:数字
-顺序访问:字符串、列表、元组
-映射访问:字典
blist = alist #则blist改变alist也改变,因为两个列表指向同一个内存空间
clist = alist[:] #alist的数据重头到尾出赋值給clist,clist改变不影响alist,因为clist拿到alist的值去创建了新的内存空间
5)以上的类型都是可迭代得对象,一般用for循环迭代
-判断对象是否可迭代:通过collections模块的Iterable类型判断
>>>from collections import Iterable #倒入模块 >>>isinstance('a','bb') #返回true表示可迭代,false表示不可迭代
-如何对list实现类似java那样的下标循环?
python内置的enumerate函数可以把一个list变成(索引-元素)对,这样就可以在for循环中同时迭代索引和元素
>>>for i,value in enumerate(['a','b','c']) >>> print i,value 0 a 1 b 2 c
原文地址:https://www.cnblogs.com/linyouyi/p/11409822.html
- 如何在Kerberos环境下使用Haproxy实现HiveServer2负载均衡
- Hive与Impala的关键字
- 如何通过Livy的RESTful API接口向非Kerberos环境的CDH集群提交作业
- 如何编译Livy并在非Kerberos环境的CDH集群中安装
- Livy,基于Apache Spark的开源REST服务,加入Cloudera Labs
- 如何在RedHat7上使用Bind搭建DNS服务
- 如何在Redhat7.3的CDH5.14中启用Kerberos
- 如何使用SAML配置Cloudera Manager的身份验证
- 如何使用Shibboleth搭建IDP服务并集成OpenLDAP
- 如何获取Hive正在执行或者已结束的的MapReduce作业的SQL语句
- 如何启用Oozie的HA
- 如何使用Oozie API接口向Kerberos环境的CDH集群提交Spark作业
- 如何降级Cloudera Manager和CDH
- 如何在CDH中安装和使用StreamSets
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Centos7安装轻量级TCP转发工具rinetd注册为服务的正确姿势 并设置开机自启 实践笔记 自用
- Connection open error . Connection Timeout Expired. The timeout period elapsed during the post-login
- macbook-12-2015款 安装win10系统 自用 实践笔记
- OpenGL ES 之attribute
- windows server 2012 r2 搭建文件服务器 问题记录 自用 实践笔记
- OpenGL ES 之uniform和varying
- OpenGL ES 绘制纹理
- Win10+Unlocker3+VMware15.5+MacOS10.14+xcode+QT for ios+虚拟机苹果系统 自用 实践笔记
- OpenGL ES 纹理过滤模式-glTexParameteri
- Jenkins时间修改为北京时间
- OpenGL ES for Android 绘制一个点
- OpenGL ES for Android 绘制线
- Jenkins自定义主题
- OpenGL ES for Android 绘制三角形
- Centos7 安装 Tomcat8 的正确姿势 并设置开机自启 实践笔记