前一天有提到空间复杂度(Space Complexity),简单的复习一下,空间复杂度指的是记忆体的使用效率。今天开始谈到的资料结构,是可以有效改善记忆体使用效率的方法之一。常见的资料结构如下:
列表分为两种,一种是有序列表,一种为无序列表。列表特性是使用线性搜寻的方式进行查找,所以会相对其他资料结构较慢一点点,不过这当然取决於你对程序所下的指令。列表的空间复杂度取决於列表的长度,这里还是以Big O来表示,n为列表大小,因此一个列表的空间复杂度可以写为O(n)。
接下来,来看看列表长什麽样子:
#列表内部可以放数字、字串、数字+字串...
List1 = [1, 2, 3, 4, 5]
List2 = ["a", "b", "c", "d", "e"]
List3 = ["dog", "cat", 100, 1000]
# 也可以对列表进行增加、修改等等的操作
List4 = List1.copy()
List1.extend(List2) #用新列表扩展原本列表
print(f"扩增後的列表为:{List1}")
print(f"复制後的列表为:{List4}")
输出结果如下:
扩增後的列表为:[1, 2, 3, 4, 5, 'a', 'b', 'c', 'd', 'e']
复制後的列表为:[1, 2, 3, 4, 5]
列表是一种很好运用的资料结构,也相对的容易理解,下列来看看列表的回圈运用:
#这是一组简单的程序码,用来玩剪刀石头布
rock = '''
_______
---' ____)
(_____)
(_____)
(____)
---.__(___)
'''
paper = '''
_______
---' ____)____
______)
_______)
_______)
---.__________)
'''
scissors = '''
_______
---' ____)____
______)
__________)
(____)
---.__(___)
'''
#将三组变数放入到列表中,再调用随机的方式进行游戏
game_image = [rock,paper,scissors]
user_chose = int(input("What do you choose? Type 0 for Rock, 1 for Paper or 2 for Scissors.\n"))
print(game_image[user_chose])
import random
company_chose = random.randint(0,2)
print(game_image[company_chose])
#列表的for循环
for i in range:
i +=1
if user_chose >=3 or user_chose <0:
print("You type is error.You lose!")
elif user_chose == 0 and company_chose == 1:
print("You Win!")
elif user_chose == 0 and company_chose == 2:
print("You lose!")
elif user_chose > company_chose:
print("You win!") #win
elif user_chose < company_chose:
print("You lose!") #lose
elif computer_choice == user_choice:
print("It's a draw")
print (i)
Python官方网站中有列表的进一步操作,很容易上手的操作,配上简单的小游戏,可以更容易了解列表这种资料结构。想进一步了解的人可以参考下列资讯:
https://docs.python.org/zh-tw/3/tutorial/datastructures.html
>>: Day3 : 从 Hello World 看 Golang
树有非常多变型,下面是Wiki的截图 以下简单介绍几种常听到的~ AVL Trees、Red Bla...
前情提要 前一篇文章带大家看了 Python 中字串的原生操作以及正规表达式的操作,这两个对於爬虫的...
天亮了 昨晚是平安夜 关於迷雾森林故事 焦虑抑制剂 10号:哈罗大家好,我是海马诚实小君,其实原本一...
表单类型是网页很常见的呈现方式,表单元素有文字框<input>、<textarea...
今天简单看一下如何设定CloudFront和做图文档和程序码备份 步骤 9 设定CloudFront...