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)

元组

猜你喜欢

转载自blog.51cto.com/14784139/2668853
今日推荐