Python 基础(四) ——— 列表与元祖
勇气通往天堂,怯懦通往地狱。——塞内加
循环出来 Python 一个数组
- Python 中 for 循环没有{}而是:
- 注意 For 循环语句前面的空格
arr = ['d', 'c', 'a', "b"]
for index in arr:
print(index)
--------------
最后的结果
d
c
a
b
循环语句内部可以嵌套
- 有缩进就是循环体内部语句,没有缩进就是循环体外部
arr = ["小明第一名", '小红第二名', '小黄第三名', '小黑第四名']
for index in arr:
print(index+"\r\n")
print("----------")
通过序号来循环
arr = ["第一次", "第二次", "第三次", "第四次"]
for index in range(len(arr)):
if index == 2:
print("确实有")
print(index)
arr[index] = "第三次的结果我修改了"
elif index == 3:
print("第四次确实有")
arr[index] = "第四次的结果我修改了"
else:
print("打出最后的结果")
print("结束了")
print(arr)
#结果
打出最后的结果
打出最后的结果
确实有
2
第四次确实有
结束了
['第一次', '第二次', '第三次的结果我修改了', '第四次的结果我修改了']
结束循环
arr = ["小明第一名", '小红第二名', '小黄第三名', '小黑第四名']
for index in arr:
print(index+"\r")
print("----------")
print("循环结束")
列表解析
前面的代码包含三四行,而列表解析让你仅仅只需要 1 行代码就生成这样的列表
列表解析将 for 循环和创建的元素合并为一行。并用[]包括
arr = [value**2 for value in range(1,11)]
print(arr)
-----------
最后结果就是
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
函数 range()
range 就是随机的生成与一系列的数字。他包前不包后
- 它支持三个参数(起始,结束,步长) 例如(2,11,2)
for index in range(1, 5):
print(index)
print("结束了")
---------
最后结果
1
2
3
4
结束了
- 要是想创建数字列表的话可以用 list 将 range()的结果直接转为列表
输出结果
arr = list(range(2, 11, 2))
print(arr)
-----------
最后结果
[2, 4, 6, 8, 10]
打印出 list 这个列表
for item in list(range(2, 11, 2)):
print(item)
print("结束了")
------
最后结果
2
4
6
8
10
结束了
利用 range 特性 创建一个空的列表
arr = []
for item in list(range(2, 11)):
content1 = item**2
arr.append(content1)
print(arr)
----------
最后结果
[4, 9, 16, 25, 36, 49, 64, 81, 100]
对数字进行执行简单的统计计算
min 最小
max 最大
sum 求和
arr = [33, 38, 105, 45, 1, 13, 109, 21, 90]
min_arr = min(arr)
max_arr = max(arr)
sum_arr = sum(arr)
print(min_arr)
print(max_arr)
print(sum_arr)
------------
最后结果
1
109
455
针对列表的一系列操作
截取 [开头:结束]
- [开头:结束] 包前不包后
arr = ["第一个", "第二个", "第三个", "第四个", "第五个"]
print(arr[1:3])
---------
最后的结果
['第二个', '第三个']
- [:结束] 没指定开头的话他会从头部开始截取
arr = ["第一个", "第二个", "第三个", "第四个", "第五个"]
print(arr[:4])
----------
最后的结果
['第一个', '第二个', '第三个', '第四个']
- [2:]没指定结尾的话 他会从截取的位置到最后
arr = ["第一个", "第二个", "第三个", "第四个", "第五个"]
print(arr[2:])
-----------
最后的结果
['第三个', '第四个', '第五个']
- [-3:] 这就表示截取后三位
arr = ["第一个", "第二个", "第三个", "第四个", "第五个"]
print(arr[-3:])
---------
最后结果
['第三个', '第四个', '第五个']
遍历
arr = ["第一个", "第二个", "第三个", "第四个", "第五个"]
for item in arr[1:4]:
print(item)
print("结束了")
------
最后结果
第二个
第三个
第四个
结束了
复制列表
arr = ["第一个", "第二个", "第三个", "第四个", "第五个"]
arr2 = arr[:]
print(arr2)
-----------
最后的结果
['第一个', '第二个', '第三个', '第四个', '第五个']
元祖
Python 将不能修改的值称为不可变的,而不可变的列表称为元祖
元素的定义
- 元祖看上去和列表差不多,但是元祖使用的是圆括号()而不是方括号,定义元祖后,我们也可以使用索引来访问其他元素
message = (200,1)
print(message[0])
--------
最后结果
200
要是使用message[0] = 300 会直接报错
遍历元祖中所有的值
message = (200, 1)
for item in message:
print(item)
----------
最后结果
200
1
元祖中的单个元素不能修改,但是整个元祖可以替换
message = (200, 1)
message = (300, 20)
print(message)
-------
最后结果
(300,200)