1. 列表list

1.1 切片
# 定义一个list。
list = [1, 2, 3, 4, 5]

从左往右读取字符(默认步长为 1 )。如:
list[-2:-1]  # 返回一个list数据类型,[4]
list[2]   # 返回一个int数据类型, 3

从右往左读取字符串(默认步长为 1 )。如:
list[-1:-2]  # 返回一个空list, []
list[-1:-2:-1] # 步长为 -1 ,[5]

1.2 内置list方法
如:a = "123"
list(a)
# 返回的是一个列表,参数可迭代对象。里面输出的内容保持传入的可迭代对象的元素和顺序。如果参数为空,则返回一个空列表。

1.3  xrange 和 range 的具体区别

1.3.1 xrange 的用法(仅在python2中使用):
xrange(开始, 结束, 步长)
xrange 它生成一个xrange对象。

1.3.2 比较
range:直接生成一个列表对象。 #(在python3中,range是生成一个range对象,支持切片)
xrange:生成一个xrange对象。操作数据大,每一次只返回单个元素,节省内存。

1.3.3 列表推导式的应用

1) 取出1-10的所有值的平方。
[x*x for x in range(10)]  # 结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

2) 生成字符串。
['num %s' % i for i in range(10)]
# 结果:['num 0', 'num 1', 'num 2', 'num 3', 'num 4', 'num 5', 'num 6', 'num 7', 'num 8', 'num 9']

3)生成元组。
[(x,y) for x in range(2) for y in range(2)]  
# 双重迭代列表,在以元组的形式(x,y)组合,生成一个列表,结果是:[(0, 0), (0, 1), (1, 0), (1, 1)]

4)生成字典。
dict([(x,y) for x in range(4) for y in range(3)]) 
# 第一个列表的迭代作为字典的键,第二个列表的迭代作为字典的值。结果为:
{0: 2, 1: 2, 2: 2, 3: 2}

3. 集合set
集合没有顺序,故不能用切片和索引操作。

3.1 创建集合。
set() :可变的
frozenset():不可变的(不能执行添加,删除等操作)

3.2 添加操作。如:
a = set("asd")  # 结果:{'a', 'd', 's'}

add :
a.add("panisme")  #按原始字符串传入。结果:{'panisme', 's', 'd', 'a'}

update :
a.update("panisme") #将字符串分割传入。
#结果:{'m', 'e', 'p', 'panisme', 's', 'n', 'boy', 'i', 'd', 'a'}

3.3 删除
remove :
a.remove("panisme")  # 结果:{'m', 'e', 'p', 's', 'n', 'boy', 'i', 'd', 'a'}

3.4 判断成员关系
in :"a" in a  # 判断字符"a" 是否在集合 a 里面,返回bool值。
not in

3.5 交集, 并集, 差集

交集 :&
并集 :|
差集 :-

3.6 set去重
去除列表内容元素重复,如:
b = [1,23,4,5,2,2,1,2]
set(b)  # 用集合去重,返回结果:{1, 2, 4, 5, 23}
list(set(b))  # 达到列表去重目的,得到列表:[1, 2, 4, 5, 23]

4. 字典
字典是无序的,它不能通过偏移来存取,只能通过键来存取。
组成字典的键必须是不可变的数据类型,比如数字,字符串,元组等。

4.1 创建字典
方法一:
{} ,如 a = {'name':'xiaoming', 'age':18}

方法二:
dict() , a = dict(name = 'xiaoming', age = 18)

4.2 添加内容
a['country'] = 'china'

4.3 修改内容
方法一:
a['name'] = 'xiaohong'
方法二:update 参数是一个字典的类型,会替换相同键的值。
a.update({'name':'xiaolan', 'age':22})

4.4 删除 del, clear, pop

del a['name']  # 删除某个键以及对应的值。

a.clear()  # 删除字典的全部元素。

a.pop('age') # 删除某个键以及对应的值。

4.5 keys() : 返回的是列表,里面包含的是字典的所有键。

4.6 values() : 返回的是列表,里面包含的是字典的所有值。

4.7 items :生成一个字典的容器 [()]

4.8 get : 通过特定的键名来查找对应的值。
a.get('22', 'abc')  
# 如果没有找到键('22')所对应的值,可以在后面指定返回值('abc')

...

转载于:https://www.cnblogs.com/panisme/p/8018669.html

初始python(二)相关推荐

  1. python二次开发攻略-ABAQUS Python二次开发攻略

    第一部分 引言 第1章 Abaqus二次开发简介 12 1.1 为什么是Python 12 1.2 Python.FORTRAN与Abaqus 13 1.3 基于Python二次开发 14 第2章 P ...

  2. Python 二维数组

    Python数组的应用中在实际编程中是一个非常重要的应用技术,作为Python编程人员来说,必须要熟练的掌握这方面的所有应用技巧.那么,接下来,我们将会通过对Python二维数组的理解来为大家解读这方 ...

  3. python二维数组操作_Python二维数组应用与操作

    课课家将会在这里为大家详细的介绍一下Python二维数组的相关应用方法以及定义方式,相信朋友们可以从中学习到更多的知识. Python数组的应用中在实际编程中是一个非常重要的应用技术,作为Python ...

  4. [Python] 二维数组初始化实践

    背景 参考博客Python二维数组初始化问题_NobiShinnosuke的博客-CSDN博客_python 二维数组初始化,文中提到正确的初始化方式是a = [[0 for j in range(n ...

  5. PYTHON二维数组

    PYTHON 二维数组的初始化 首先,python中没有数组的概念,二维数组等同于二维列表. 二维数组的初始化方法1(全部初始化为0) 二维数组的初始化方法2(自己输入初值) 二维数组的遍历

  6. #Python# 二维数组的定义、使用的几种方法

    #Python# 二维数组的定义.使用的几种方法 通常的困扰 1.先介绍最简单的一种方式 2.再介绍最常见的一种方式 3.最后介绍最暴力直观的一种方式 通常的困扰 之前对Python里面创建.使用二维 ...

  7. python学习之第一课时--初始python

    python学习之第一课时--初始python Python前世今世 python是什么 python是一门多种用途的编程语言,时常在扮演脚本语言的角色 python流行原因 软件质量 提高开发者效率 ...

  8. python怎么安装myqr模块-python二维码操作:对QRCode和MyQR入门详解

    python是所有编程语言中模块最丰富的 生活中常见的二维码功能在使用python第三方库来生成十分容易 三个大矩形是定位图案,用于标记二维码的大小.这三个定位图案有白边,通过这三个矩形就可以标识一个 ...

  9. python画二维散点图-基于python 二维数组及画图的实例详解

    1.二维数组取值 注:不管是二维数组,还是一维数组,数组里的数据类型要一模一样,即若是数值型,全为数值型 #二维数组 import numpy as np list1=[[1.73,1.68,1.71 ...

  10. abaqus python二次开发攻略_基于CAE二次开发进行弹簧批量建模

    一. 为什么要进行弹簧批量建模 当一个公司或者学者从事科研任务时,往往通过有限元进行建模分析,建模的时间通常与工作效率挂钩.例如ABAQUS/CAE建模,想必很多老用户都有某种共同的感受,那就是实体模 ...

最新文章

  1. python for i in range 三维_python中的三维卷积
  2. java redis释放连接池_Java 使用连接池操作redis
  3. 关于导入My97DatePicker时间插件遇到的问题及解决方案
  4. 架构设计中服务层的简单理解
  5. 设置mysql整形_mysql 整型字段设计
  6. 北大学霸:高考有漏洞可钻,学会套路,立马提分,屡试不爽!
  7. promise的状态以及api介绍_2019年,盘点一些我出过的前端面试题以及对求职者的建议
  8. 2020-06-05 原始套接字/AF_PACKET链路层访问
  9. DWR第四篇之对象传参
  10. 内置函数——hasattr() 函数
  11. nginx面试题及详解
  12. Chrome历史版本以及ChromeDriver下载地址对应的版本
  13. QT从字体名获取字库文件路径(从宋体获取到simsun.ttc)
  14. 黑苹果部分usb、摄像头以及dw1560(BCM94352Z)蓝牙无法识别问题的解决方法
  15. 海龟绘图简易教程|Turtle for Python
  16. 网页设计成品DW静态网页Html5自应式css3——动漫设计响应式(10页) HTML+CSS+JavaScript 动漫设计制作 简单静态HTML网页作品 动漫设计作业成品 学生个人网站模板
  17. 钉钉小程序从搭建到引入地三方库到发布---企业内小程序
  18. 面经 | 腾讯/阿里/京东/头条/旷视等20+企业计算机视觉算法岗面经吐血整理
  19. 在疫情影响后如何买房
  20. 获取网站 favicon.ico 的三种方法

热门文章

  1. Spring Boot错误处理机制以及定制自己的错误页面
  2. STM32的USB相关资料(转载)
  3. sdut 1466 双向队列
  4. filter2D函数
  5. 整数划分问题(路径输出)【递归求解方式】
  6. 现在c++链接oracle,C++ 连接Oracle
  7. github可视化_Cesium数据可视化-仓储调度系统可视化部分(附github源码)
  8. Protobuf 安装及 Python、C# 示例
  9. 让人抓头的Java并发(四) 阻塞队列--CPU飙升排查案例
  10. P1967 货车运输