昨天初步认识 python 怎麽设定变数的操作,今天我们要聚焦在串列、字典、字串的操作,东西有点多XD 大家实际把程序码执行看看会更有感觉!
串列可以一次储存相当多的资料,每个资料我们称为元素,元素可以是字串、整数、浮点数,甚至也可以是串列、字典哦!
串列这边我们使用的是中括号 []
# integer
list_1 = [1, 2, 3, 4, 5]
# string
list_2 = ['1', '2', '3']
# 来点混搭风如何?
list_3 = [1, '1', '1.0']
# 串列的串列的串列?
list_4 = [1, [1, [1]]]
# 串列也可以是空的
list_5 = []
定义完之後我们要怎麽读取它呢?我们可以用索引值的方式去做读取。请记得索引值是从零开始(不是动漫啦)计算切片哦!
x = [1, 2, 3, 4, 5]
# 我要第一个数字
print(x[0])
# 我要最後一个数字
print(x[4])
啊难道我要傻傻地去数有几个吗?当然不用!倒过来数就好了XD
x = [1, 2, 3, 4, 5]
# 我要最後一个数字
print(x[-1])
当然你也可以知道串列长度之後减1(但应该没有人这样写,有点冗XD)
x = [1, 2, 3, 4, 5]
# 我要最後一个数字
print(x[len(x)-1])
接着我们只想取得串列中几个元素,那要怎麽操作呢?
这边大家实际操作会比较有心得,切记从零开始XD
x = [1, 2, 3, 4, 5]
# 取索引值前3,索引值是 0 1 2
x[:3]
>>> [1, 2, 3]
# 从索引值1开始到索引值4,索引值是1 2 3
x[1:4]
>>> [2, 3, 4]
# 取得串列最後第 n 个
x[-2:]
>>> [4, 5]
# 每隔 step 从 start 开始到 end-1
# [start:end:step]
x[1:4:2]
>>> [2, 4]
可以使用 python 内建的函式,自己就不用额外写哦~
# sum
x = [1, 2, 3, 4, 5]
sum(x)
>>> 15
# max
max(x)
>>> 5
# min
min(x)
>>> 1
也可以搭配 numpy 套件
import numpy as np
x = [1, 2, 3, 4, 5]
# 中位数
np.median(x)
>>> 3.0
# 平均数
np.mean(x)
>>> 3.0
在最後加上一个元素
x = [1, 2, 3, 4, 5]
x.append(6)
print(x)
>>> [1, 2, 3, 4, 5, 6]
任意位置插入元素
x = [1, 2, 3, 4, 5]
x.insert(3, 6)
print(x)
>>> [1, 2, 3, 6, 4, 5]
删除元素
x = [1, 2, 3, 4, 5]
x.pop()
print(x)
>>> [1, 2, 3, 4]
删除指定元素
x = [1, 2, 3, 4, 5]
x.pop(3)
print(x)
>>> [1, 2, 3, 5]
当不知道元素索引值的时候,可使用这方法直接删除元素
x = [1, 2, 3, 4, 5]
x.remove(3)
print(x)
>>> [1, 2, 4, 5]
两种方法都可以
x = [1, 2, 3, 4, 5]
print(x[::-1])
>>> [5, 4, 3, 2, 1]
x = [1, 2, 3, 4, 5]
x.reverse()
print(x)
>>> [5, 4, 3, 2, 1]
递增
x = [9, 4, 6, 10, 8]
x.sort()
print(x)
>>> [4, 6, 8, 9, 10]
递减
x = [9, 4, 6, 10, 8]
x.sort(reverse=True)
print(x)
>>> [10, 9, 8, 6, 4]
请留意 sort 方法会造成该 list 顺序永久更改,我们可以用 sorted 来赋值到新变数
x = [9, 4, 6, 10, 8]
y = sorted(x)
print('Before:', x)
print('After:', y)
>>> Before: [9, 4, 6, 10, 8]
>>> After: [4, 6, 8, 9, 10]
字典与串列不同,它无法给予索引值(0, 1, 2... ) 这些来取得,而是透过所谓的 key 对应到 value。
字典是使用大括号 {"key": "value"}
dict_1 = {}
dict_2 = {"banana": 10, "apple": 20, "lemon": 30}
fruit_price_dict = {"banana": 10, "apple": 20, "lemon": 30}
print(f"The price of banana is:", fruit_price_dict["banana"])
>>> The price of banana is: 10
fruit_price_dict = {"banana": 10, "apple": 20, "lemon": 30}
fruit_price_dict["orange"] = 50
print(fruit_price_dict)
>>> {'banana': 10, 'apple': 20, 'lemon': 30, 'orange': 50}
fruit_price_dict = {'banana': 10, 'apple': 20, 'lemon': 30, 'orange': 50}
fruit_price_dict["orange"] = 60
print(fruit_price_dict)
>>> {'banana': 10, 'apple': 20, 'lemon': 30, 'orange': 60}
fruit_price_dict = {'banana': 10, 'apple': 20, 'lemon': 30, 'orange': 50}
del fruit_price_dict["orange"]
print(fruit_price_dict)
>>> {'banana': 10, 'apple': 20, 'lemon': 30}
回顾串列的观念,我们教了串列有索引值,但其实也可以应用在字串当中哦!
string = 'PythonGO!'
print(string[0])
>>> P
print(string[6:])
>>> GO!
string = 'PythonGO!'
list(string)
>>> ['P', 'y', 't', 'h', 'o', 'n', 'G', 'O', '!']
在处理资料常常会需要用到这招哦!
string = 'I want to play a game!'
string.split(' ')
>>> ['I', 'want', 'to', 'play', 'a', 'game!']
string = ['I', 'want', 'to', 'play', 'a', 'game!']
' '.join(string)
>>> 'I want to play a game!'
<<: 自动化测试,让你上班拥有一杯咖啡的时间 | Day 1 - 前言
正文 kubectl create ns kubecost wget https://raw.git...
新增画面及移除画面 点击show时会呈现以下结果: 点击hide时会呈现以下结果(消失了): jQu...
本文将於赛後同步刊登於笔者部落格 有兴趣学习更多 Kubernetes/DevOps/Linux 相...
初来乍到Ruby世界的读者们,绝对想不到原来Ruby 也有 curry, bind 等用法。这些语法...
元件介绍 Input 是一个输入元件。通常在我们希望用户能够输入一些资讯的时候会需要用到它。由於原生...