python基础003
1. list
1.1 基础
list是一组有序的集合序列,可以包含任何类型且不必相同,并支持嵌套。采用如下创建方式:
li = ["spam",2.0,5,[10,20]]
列表支持索引、切片,组合
v2= li[1] # 索引
v2= li[0:2] #切片 a = [1,2,3] #合并
b = [3,4,5]
c = a + b —》c = [1,2,3,3,4,5]
# 多列表合并成新列表,新列表含有原列表所有元素(包括重复的)
列表是可变类型,可以再赋值
li[2] = 6
列表是可迭代类型,可以for循环遍历
for item in li:
print(item)
# 上述的循环仅仅是读取元素,若要读取并改写元素则需索引 for i in range(len(li)):
li[i = li[i] * 2
1.2 方法
#!/usr/bin/env python
# -*- coding:utf8 -*- li = [1,"age",["是正文“,["19","10"]],True] # 在原有的列表基础上追加,list是可变类型,无需赋值
li.append(5) # 清空列表
li.clear # 拷贝,浅拷贝,改变拷贝后的列表对原列表无影响
v = li.copy() # 计算元素出现的次数
v = li.count(7) # 传入可迭代对象,扩展原列表
v = li.extend([11,"sasdqsw"])
v = li.ectend("cwd") # 指定索引位置插值
li.insert(0,99) # 根据索引删除元素,并获取被删除元素,默认删除最后一个,索引超出范围报错
v = li.pop(2)
print(v)
print(li) # 根据指定值删除元素(左侧优先),没有该元素报错
li.remove(99) # 将当前列表反转
li.reverse() # 排序,跨类型无法排序
li.sort()
2. tuple
2.1 基础
元组是一组有序集合,可包含任何类型,支持嵌套;元组定义时在最后元素后加上一个逗号
tu = (1,2,[333,"dd"],"sss",)
元组支持索引,切片。
元组是不可变类型,一级元素不可被修改,不可被增加或删除,但是一级元素是可变类型,则该元素内部可修改。
元组是可迭代类型,支持for循环遍历。
唯一元素构成元组,元素后必须加逗号
t = ("a",)
因为元组不可变,所以改变元组元素的方式切片合并
t = {"a","b","c","d","e",)
t = ("A",) + t[1:] —》t
("A","b","c","d","e",)
字符串可以转换为列表、元组,列表、元组可以相互转换。对于包含相同类型的列表或元组,通过.join()方法转换为字符串
s = "dscnkwe" li = list(s)
tu = tuple(s) tu = tuple(li)
li = list(tu) s = "".join(li)
s = "".join(tu)
2.2 方法
#!/usr/bin/env python
# -*- coding:utf8 -*- # .count() 获取指定元素的个数
v = tu.count(3) # .index() 获取指定元素的索引
v = tu.index(3)
3. dict
3.1 基础
字典时无序的键值对组合,字典Value可以是任何类型,key必须是不可变类型(整型,布尔值,字符串,元组),列表和字典不能作为字典的key。
info = {
1:18,
"k2":True,
False:[
11,
22,
33,
{
"kk1":"vv1",
"kk2":"vv2",
"kk3":(11,22,)
}
],
("qq",):(11,22,33,44,)
}
通过key找到某一元素
v = info[False][3]["kk3"][0]
删除某一元素
del info["k2"]
3.2 方法
#!/usr/bin/env python
# -*- coding:utf8 -*- # for 循环遍历,默认循环key
for item in info: # 使用.value()方法循环遍历value
for item in info.values(): # 使用.items()方法循环遍历键值对
for item in info.items(): #获取键值对的元组型表示
for k,v in info.items(): #获取键值对 # 根据传入的key获取value,value不存在,可以指定返回值,默认是None
v = info.get("k2",-1) # 根据key设置值;key存在,不设置,获取当前key对应的value;key不存在,设置,获取设置值
v = info.setdefault("",123) # 清空字典
info.clear() # 浅拷贝
info.copy() # 静态方法,第一个参数传入可迭代序列,根据序列创建字典的key,并指定统一的值
info = dict.fromkeys((1,2,3),123) # .pop()指定key删除并获取value,.popitem()随机删除并获取键值对
v = info.pop("k2")
k,v = info.popitem() # 更新,传入字典;key存在就更新,不存在就加上
info.update({1:19,"jjw":"xmx"})
print(info)
python基础003的更多相关文章
- [Python基础]003.语法(2)
语法(2) 运算符 数学运算 比较运算 逻辑运算 位运算 赋值运算 其他运算 代码规范 代码缩进 多行 注释 流程控制 pass if while for break continue 运算符 数学运 ...
- Python基础-函数参数
Python基础-函数参数 写在前面 如非特别说明,下文均基于Python3 摘要 本文详细介绍了函数的各种形参类型,包括位置参数,默认参数值,关键字参数,任意参数列表,强制关键字参数:也介绍了调用函 ...
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- Python小白的发展之路之Python基础(一)
Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...
- Python之路3【第一篇】Python基础
本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...
- 进击的Python【第三章】:Python基础(三)
Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...
- 进击的Python【第二章】:Python基础(二)
Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
随机推荐
- 7天学完Java基础之5/7
接口 接口就是一种公共的规范标准 是一种引用数据类型 定义格式 public interface 接口名称{} java7 中接口可以包含常量,抽象方法:Java8 还可以额外包含默认方法,静态方法: ...
- yield 为什么不能进入回调函数
操他妈的, allowed_domains = ['voice.hupu.com'] 这里面必须是域名,而不能是个路径,遇见问题不要瞎几把想,及时Google才是正道!!!!!!!!!11 感谢: h ...
- WIN7 X64的运行命令窗口
要在WIN7系统下用界面的方式执行运行命令,则可以用如下两种方法方法打开运行对话框.1.点Win+R(run)就能出来的.2.在开始菜单上点右键,选“属性”,进入开始菜单属性设置界面,单击底部的“自定 ...
- htm5 + ajax 文件上传
好文 http://www.cnblogs.com/morlin/p/4930822.html 后台接收 FormData 的参数一直为空,将jquery改为最高版本,问题解决.测试发现IE10以上才 ...
- Investigation LightOJ - 1068
Investigation LightOJ - 1068 常规数位dp题,对于不同k分开记忆化.注意:k大于82(1999999999的数位和)时不会有答案,直接输出0即可.还有,按照这种记录不同k时 ...
- Linux下mysql新建账号及权限设置各种方式总结
来自:http://justcoding.iteye.com/blog/1941116 1.权限赋予 说明:mysql部署在服务器A上,内网上主机B通过客户端工具连接服务器A以进行数据库操作,需要服务 ...
- ogg 监控脚本
section 1: #! /bin/sh PATH=/usr/local/bin:$PATHORACLE_SID=statdb ORAENV_ASK=NO. oraenv > /dev/nul ...
- 记一次有关spark动态资源分配和消息总线的爬坑经历
问题: 线上的spark thriftserver运行一段时间以后,ui的executor页面上显示大量的active task,但是从job页面看,并没有任务在跑.此外,由于在yarn mode下, ...
- webform简单空间以及数据库访问
1.简单控件 Label - 文字,编译后显示的是<span> 一说到边框:1.颜色 2.类型,比如solid实线3.width宽度Literal -里面可以承载很多东西,比如文字,比如a ...
- mybatis javaConfig实现
@Bean public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { SqlSessio ...