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')

...

最新文章

  1. 开放-封闭原则(OCP)开-闭原则 和 依赖倒转原则,单一职责原则
  2. Sql统计一个字符串在另一个字符串出现的次数的函数-fnQueryCharCountFromString
  3. Mysql之高可用
  4. SharePoint 2010 文档管理之点击次数
  5. 踏着前人的脚印学Hadoop——结构、重点
  6. Codeforces Round #364 (Div. 2) E. Connecting Universities
  7. Java并发之线程异常捕获
  8. Java List Remove时要注意的细节
  9. 《Java从入门到放弃》JavaSE入门篇:面向对象概念(入门版)
  10. jQuery的get()post()getJson()方法
  11. Ajax常用实例
  12. 十大经典排序算法最强总结(含JAVA代码实现)
  13. oracle常用命令收集
  14. 查看当前的app运行的是哪个Activity
  15. 乐乐课堂_leleketang.com
  16. Python3 tkinter基础 Frame bind 敲击键盘事件 将按键打印到console中
  17. js常见知识点3.面向对象之继承、设计模式
  18. MVC 获取路由的 URL 参数值和默认值的集合。
  19. 一个线上程序bug,由通用补数程序引起
  20. 【IL】IL入门

热门文章

  1. nginx 反向代理https
  2. Greenplum表定义
  3. Tomcat源码分析——server.xml文件的加载
  4. ant使用小结
  5. Docker学习(四): 操作容器
  6. ASP.NET 简单的柱形图实现(附带示例)
  7. MAC 系统 各种操作
  8. Spring 创建 IOC 容器时加载配置文件的几种方式
  9. JDBC增加、更新、删除数据
  10. 时间复杂度为O(logN)的常用算法