基础数据类型

写在最前面

列表,元组,字典怎么区分呢

列表是一个有序可重复的元素序列,也就是说里面的东西可以重复,也可以修改 []

元素是一个不可变,可以重复的数据类型,也就是只能查询内容,不能增加或删除元素 ()

那么字典又是什么呢,字典其实就是元组的plus版本,它可以通过关键词查询到所对应的值

但是字典是不可变、不可重复的 {}

列表的基本操作

列表中的每个元素都被分配一个数字作为索引,用来表示该元素在列表内所排在的位置。

python中的列表是一个有序可重复的元素序列,可嵌套、迭代、修改、切片、追加、删除,成员判断。

列表是可变长度的顺序存储结构,每一个位置存放的都是对象的指针。

创建列表

>>> li1 = [1,"jerry",True,3.14]>>> li1[1, 'jerry', True, 3.14]>>> li2 = list()>>> li2[]>>> li3 = list("Hello")>>> li3['H', 'e', 'l', 'l', 'o']

访问列表内的元素

列表也可以通过索引去访问

>>> li = [1,2]>>> li[1]2

那么既然可以通过索引去访问了,可不可以通过索引去修改指定的元素呢

>>> li[1] = "A">>> li[1, 'A']

删除指定的元素或列表

>>> del li[1]>>> li[1]>>> del li

那如果我们要删除一个指定的字符串或者数字之类的呢,我们可以使用remove方法

>>> li2 = list("123456789")>>> li2['1', '2', '3', '4', '5', '6', '7', '8', '9']>>> li2.remove("4")>>> li2['1', '2', '3', '5', '6', '7', '8', '9']

要注意的是,如果列表中没有你要删除的内容,使用remove方法会报错

弹出元素

我们可以使用pop方法来弹出指定的元素

>>> li = list("123456789")>>> li['1', '2', '3', '4', '5', '6', '7', '8', '9']>>> li.pop()'9'>>> li['1', '2', '3', '4', '5', '6', '7', '8']

如果没有指定参数那就会默认弹出最后面的那个元素

可以在括号中指定索引去删除元素

pop不能弹出一个空的列表里的元素,会报错

列表的特殊操作

列表的组合

可以通过 列表1+列表2 来组合列表1和列表2里的元素

列表的乘法

>>> li*2['1', '2', '3', '4', '5', '6', '7', '8', '1', '2', '3', '4', '5', '6', '7', '8']

列表的迭代

li = [1, 2, 3, 4]for i in li:    print(i)

输出结果

1234

len

len也可以用来计算列表的元素个数

通过得到的元素个数减一就变成了列表的最后一个索引

max

如其名,用来找出列表中最大的值

如果列表中全是字符串比较ASCII码值,如果字符串中全是数字则找出数字最大的。

如果列表中既有数字又有字符串使用max函数时会报错

reverse

reverse这个方法是用来反转列表

因为列表是可变数据类型,所以大部分的方法都是直接改变列表本身,不会有任何的输出结果

sort

此方法是用来将列表里的内容排序

可以选择是升序还是降序

>>> li2 = [1,3,5,6,7,4,2]>>> li2.sort()>>> print(li2)[1, 2, 3, 4, 5, 6, 7]>>> li2.sort(reverse=True)>>> print(li2)[7, 6, 5, 4, 3, 2, 1]

列表基础

嵌套列表

在python中,可以在列表中再创建一个列表

>>> li = [1,2,3,[5,5]]>>> li[1, 2, 3, [5, 5]]

同时呢,我们也可以去修改这个子列表中的值

>>> li[3][5, 5]>>> li[3][0]5>>> li[3][0] = 1 >>> li[1, 2, 3, [1, 5]]

append

向列表中添加元素

也可以向列表中添加列表

count

count是用来计算指定的内容在列表中出现的个数

count无法统计子列表中的元素

extend

向列表追加元素(有点像list)

>>> li = [1,2,3,4]>>> li.extend("1234")>>> print(li)[1, 2, 3, 4, '1', '2', '3', '4']

index

从左到右查找指定的内容,并返回其所在的索引

insert

将对象插入列表

>>> li[1, 2, 3, 4]>>> li.insert(2,"jerry")>>> li[1, 2, 'jerry', 3, 4]

copy

浅复制列表

>>> li1 = li.copy()

clear

清空列表

相当于del list[:]

元组

元组是一个不可变的数据类型

只能查询内容,不能增加或删除元素

因为元组是不可变的,所以我们要如何往里面添加元素呢

答案就是,分配一个新的内存地址给它

>>> tu+(5,)(1, 2, 3, 4, 5, 5)>>> new= tu+(5,)>>> new(1, 2, 3, 4, 5, 5)

但是值得一提的是,如果你的元组里面有子列表,那列表是可以进行改变的

sorted

sorted的作用是将元组转换为列表

>>> tu = (1,2,3,4,5)>>> sorted(tu)[1, 2, 3, 4, 5]

扩展

>>> tu(1, 2, 3, 4, 5)>>> reversed(tu)<reversed object at 0x00000286C68EEF40>>>> list(reversed(tu))[5, 4, 3, 2, 1]

列表和元组的那些事

列表相对于元组来说它所占的内存会更大一些,所以当我们不用对数据进行修改的时候我们大多数都会使用元组。

列表和元组的转换

问题来了,怎么让他们互相转换呢

>>> list(li)[1, 2, 3, 4, 5]>>> tuple(li)(1, 2, 3, 4, 5)

元组

©著作权归作者所有:来自51CTO博客作者shadowyingyan的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. HTML表格与表单的标签与属性
  2. CSS 浮动的作用以及高度塌陷的解决方案BFC
  3. java集合【8】——— List源码详细分析
  4. html元素第一课
  5. Golang笔记之基本组成元素
  6. 【每天一题】PHP中常用的数组操作方法笔记整理
  7. jQuery初学习之dom操作
  8. 数据结构之栈与队列(一)
  9. Emmet学习

随机推荐

  1. android调用系统自带资源的两种方式
  2. Android TextView文本的省略与显示
  3. Android基础 : Android(安卓)Content Pro
  4. 高级组件之网格视图
  5. Android系统启动流程(4) —— 解析Launch
  6. Android Studio --- > [学习笔记]Button
  7. 自定义android开机动画
  8. Android源代码目录组成介绍-android学习
  9. android 控件-TextView用法整理
  10. Android(安卓)Studio debug.keystore位置