容器类型数据

能够容纳基本数据的数据类型:

  • 序列
  • 列表
  • 元组
  • 集合
  • 字典

序列

序列中的元素是有序的,编号从0开始,支持负值索引。

  1. a="hello"
  2. a[0] # 'h'
  3. # 加和乘操作
  4. "hello" * 2 # "hellohello"
  5. "hello" + "world" # helloworld
  6. # 切片操作
  7. # [start:end:step]
  8. b="hello"
  9. b[0:4:2] # 'hl'
  10. # 成员测试 判断是否存在某元素
  11. # in 、 not in
  12. a="hello"
  13. 'e' in a # True
  14. 'x' not in a # True

列表

列表是一种可变序列类型,我们可以追加、插入、删除和替换列表中的元素。

  1. # 创建列表
  2. # list()函数
  3. list('hello') # ['h', 'e', 'l', 'l', 'o']
  4. # [元素1,元素2...]
  5. [10,20]
  6. # 追加元素
  7. # append 方法 单个元素
  8. a=[]
  9. a.append('x') # a=['x']
  10. # + 、 extend 多个元素
  11. a + list('bcd') # a=['x','b','c','d']
  12. a.extend('bcd') # a=['x','b','c','d']
  13. # 插入元素
  14. list.insert(i,x)方法
  15. 在第i个位置插入x元素
  16. # 替换元素
  17. 通过下标进行赋值
  18. a[5]='x'
  19. # 删除元素
  20. list.remove(x)方法
  21. list中移除第一个值为x的元素

元组

元组是一种不可变序列类型。

  1. # 创建元组
  2. #tuple()函数 (元素1,元素2...)
  3. tuple([1,2,3,4])
  4. (1,2,3,4)
  5. # 元组拆包
  6. nid,name = (101,'小猪')

集合

集合是一种可迭代的、无序的、不能包含重复元素的容器类型的数据。

  1. # 创建集合
  2. # set函数
  3. set('hello') # {'o', 'e', 'h', 'l'}
  4. {'o', 'e', 'h', 'l'}
  5. # 修改集合
  6. add(x) 若元素已存在并不抛出错误
  7. remove(x) 若元素不存在则抛出错误
  8. clear() 清空集合

字典

字典是可迭代的、通过键来访问元素的可变的容器类型。

  1. # 创建字典
  2. # dict()函数
  3. # {key1:value1,key2:value2}
  4. # 修改字典
  5. # 访问字典视图
  6. # items() 返回字典中所有的键值对视图
  7. # keys() 返回字典键视图
  8. # values() 返回字典值视图
  9. example = dict({'name':'小猪','age':18})
  10. list(example.items()) # [('name', '小猪'), ('age', 18)]
  11. list(example.keys()) # ['name', 'age']
  12. list(example.values()) # ['小猪', 18]

字符串

字符串是序列的一种。

  • 普通字符串

单引号或双引号括起来。

  • 原始字符串

r”xxxxxxx”

遇到\不转义。

  • 长字符串

有换行等。
使用三重单引号或双引号。

  1. s="""
  2. 今天,
  3. 有亿点点,
  4. 想你。
  5. """

字符串转换为数字

  1. # 转换失败会触发异常。
  2. int()
  3. float()

数字转换为字符串

  1. str()

格式化字符串

  1. format()
  2. 'i * i ={}'.format(i*i)
  3. '{0} * {0} = {1}'.format(i,i*i)
  4. '{p1} * {p1} = {p2}'.format(p1=i,p2=i*i)

格式化控制符

{序号:控制符}

操作字符串

  • str.find(字串,开始位置,结束位置) 找不到返回-1
  • str.replace(原来的字符串,新的字符串,替换的次数)
  • str.split(分隔符,[分割次数]) 返回一个列表