4.基础数据类型
作者:互联网
基础数据类型
写在最前面
列表,元组,字典怎么区分呢
列表是一个有序可重复的元素序列,也就是说里面的东西可以重复,也可以修改 []
元素是一个不可变,可以重复的数据类型,也就是只能查询内容,不能增加或删除元素 ()
那么字典又是什么呢,字典其实就是元组的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)
输出结果
1
2
3
4
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)
元组
标签:数据类型,元素,基础,li,list,li2,列表,元组 来源: https://blog.51cto.com/14784139/2668853