人生苦短,我选Python

前言

在开始今天的内容之前先简单介绍一下 Python 内置的数据结构,包括:

  • 列表(list)
  • 元组(tuple)
  • 字典(dict)
  • 集合(set)

在Python语言中,以上4种数据结构和基础数据类型(整数、浮点数等)统称为“内置类型”(Built-in Types)。

列表(list)

Python list(列表),是Python中最常用的一种数据结构,它是一组用方括号括起来、逗号分隔的数据。

创建列表:


list1 = [1, 2, 3, 4, 5]
print(list1)

list2 = ['a', 'b', 'c', 'd', 'e']
print(list2)


输出结果:


[1, 2, 3, 4, 5]
['a', 'b', 'c', 'd', 'e']


列表中的数据类型可以是相同的,如上面的 int 和 str ,也可以是不同的:


list3 = [1, 2, 3, 'a', 'b']
print(list3)


结果如下:


[1, 2, 3, 'a', 'b']


这个还不算什么,还有更骚的操作,列表里面是可以嵌套列表的:


list4 = [1, 2.33, 'a', list3]
print(list4)


结果如下:


[1, 2.33, 'a', [1, 2, 3, 'a', 'b']]


这一层一层的,又让我想起了洋葱。。。

空列表


list5 = []
print(list5)


列表的一些基操

查看列表的类型

查看类型的函数是 type() ,那么如果我们看下列表的类型呢?


print(type(list4))


结果如下:


<class 'list'>


通过索引取出列表的元素

语法:列表名[索引]


list1 = [1, 2, 3, 4, 5]
print(list1[0])


这里的数字 0 是列表的索引,含义是取出第 0 位的元素。

注意:

如果我们直接去取 list1 的索引为 5 的值:


list1 = [1, 2, 3, 4, 5]
print(list1[5])


这时会直接抛出异常。


Traceback (most recent call last):
  File "F:/project/python-learning/base-data-list/Demo.py", line 20, in <module>
    print(list1[5])
IndexError: list index out of range


这个异常的含义是:列表索引超出范围。

Python 列表除了正索引还有一个负索引,正索引是列表从头到尾的方向,负索引的是从尾到头。


列表:  ['a', 'b', 'c', 'd', 'e']
         |    |    |    |    |
正索引:  0    1    2    3    4
负索引:  -5  -4   -3   -2   -1


使用加号连接列表

语法: 列表1 + 列表2


print(list1 + list2)


结果如下:


[1, 2, 3, 4, 5, 'a', 'b', 'c', 'd', 'e']


对列表元素进行 for 循环

语法:
for 变量 in 列表:
print(变量)


for i in list1:
    print(i)


结果如下:


1
2
3
4
5


获取列表长度

语法: len(列表)


print(len(list1))

print(len(list1 + list2))


结果如下:


5
10


检查列表中是否存在某个元素

返回的是布尔值 bool 。


print('a' in list1)
print(1 in list1)


结果如下:


False
True


删除列表

语法: del 列表名


list1 = [1, 2, 3, 4, 5]

del list1
print(list1)


结果如下:


Traceback (most recent call last):
  File "D:/Development/Projects/python-learning/base-data-list/Demo.py", line 40, in <module>
    print(list1)
NameError: name 'list1' is not defined


很显然,将 list1 删除之后会报错 list1 未定义。

删除列表中索引为 i 的元素

语法: del list1[i]


list1 = [1, 2, 3, 4, 5]

del list1[2]
print(list1)


结果如下:


[1, 2, 4, 5]


返回列表中最大的值

语法:max(list1)


print(list1)
print(max(list1))
print(list4)
print(max(list4))


结果如下:


[1, 2, 4, 5]
5
[1, 2.33, 'a', [1, 2, 3, 'a', 'b']]
Traceback (most recent call last):
  File "D:/Development/Projects/python-learning/base-data-list/Demo.py", line 51, in <module>
    print(max(list4))
TypeError: '>' not supported between instances of 'str' and 'float'


list4 中取最大值报错了,报错原因是 'str' 和 'float' 无法比较大小。

返回列表中最小的值

语法:min(list1)


print(list1)
print(min(list1))
print(list4)
print(min(list4))


结果如下:


[1, 2, 4, 5]
1
[1, 2.33, 'a', [1, 2, 3, 'a', 'b']]
Traceback (most recent call last):
  File "D:/Development/Projects/python-learning/base-data-list/Demo.py", line 51, in <module>
    print(max(list4))
TypeError: '<' not supported between instances of 'str' and 'float'


list4 中取最小值报错了,报错原因和上面取最大是一样的, 'str' 和 'float' 无法比较大小。

成长离不开与优秀的伙伴共同学习,如果你需要好的学习环境,好的学习资源,职业规划,这里欢迎每一位热爱Python的小伙伴,Python学习圈