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的更多相关文章

  1. [Python基础]003.语法(2)

    语法(2) 运算符 数学运算 比较运算 逻辑运算 位运算 赋值运算 其他运算 代码规范 代码缩进 多行 注释 流程控制 pass if while for break continue 运算符 数学运 ...

  2. Python基础-函数参数

    Python基础-函数参数 写在前面 如非特别说明,下文均基于Python3 摘要 本文详细介绍了函数的各种形参类型,包括位置参数,默认参数值,关键字参数,任意参数列表,强制关键字参数:也介绍了调用函 ...

  3. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  4. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  5. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

  6. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  7. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  8. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  9. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

随机推荐

  1. Jmeter逻辑控制器操作,附栗子

    jmeter中的逻辑控制器确定采样器的执行顺序.右键线程组-->添加-->逻辑控制器. 一.简单控制器 简单控制器对JMeter如何处理添加到其中的采样器没有影响.只是方便我们做分组命名. ...

  2. (一)搭建自己的SpringBoot后台框架整合MyBatis

    一:通过idea工具构建基础框架 1.  打开idea,左上角File→New→Project, 2.  点击Next 3.  点击Next,配置如下图,这里我们选择数据库MySQL和持久层框架MyB ...

  3. 跟我一起玩Win32开发(25):监视剪贴板

    自从郭大侠和蓉儿离开桃花岛后,最近岛比较寂静,有一种“门前冷落鞍马稀”的感觉.于是,老邪就拿出<九阴真经>认真阅读,同时用迅雷下载经典大剧<汉武大帝>晚上睡觉前看上几集,老邪一 ...

  4. h5-18-文件操作-兼容判断

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. 万能makefile模板

    这里一份万能makefile模板,写opencv项目时候使用的. 前提是提前配置好 包管理工具 pkg 然后就不用每次都去 -lopencv_xxx了. ####################### ...

  6. ios学习笔记 UITableView(纯代码) (一)

    参考 “https://www.cnblogs.com/ai-developers/p/4557487.html” UITableViewCell 有一个代码重用 减少资源的浪费 参考  https: ...

  7. Java开发笔记(九十五)NIO配套的文件工具Files

    NIO不但引进了高效的文件通道,而且新增了更加好用的文件工具家族,包括路径组工具Paths.路径工具Path.文件组工具Files.先看路径组工具Paths,该工具提供了静态方法get,输入某个文件的 ...

  8. HttpMessageNotWritableException异常解决办法

    昨天做多对多的时遇到这个错误,网上找了一大堆,都没有解决掉,这个异常是说要解析的对象解析不了,就有可能该对象为null了,为了测试,我把数据库的数据都填上去    结果还是报错 看来是时候debug下 ...

  9. 【转】Android中实现IPC的几种方式详细分析及比较

    1.使用Bundle   ----> 用于android四大组件间的进程间通信android的四大组件都可使用Bundle传递数据  所以如果要实现四大组件间的进程间通信 完全可以使用Bundl ...

  10. Android RxJava小结

    一.如何使用 在build.gradle中添加依赖 dependencies { api 'io.reactivex:rxandroid:1.2.1' api 'io.reactivex:rxjava ...