List
list 是一個有序的集合, 可以動態新增刪除裏面的元素
使用方式
使用變數並在 [] 中指定值即可. 將變數直接印出, 則會列印所有的值
student=["Thomas", "John", "keven"] print(student)
取得取代
如陣列一樣傳入索引編號, 即可讀取或變更裏面的值.
索引編號若超出範圍, 則會產生IndexError 錯誤.
另索引編號可以為 -1 : 取最後一個值, -2則是取最後第二個值
student[0]="Tony" print(student[0])
新增
使用 append()則會新增資料到最後一筆中
student.append("tracy")
插入
使用insert, 並指定要插入的索引, 則可以將值插入中間位置
student.insert(1, "merry")
刪除
使用pop(), 並不傳入參數, 則會將最後一個刪除. 若有傳入參數, 則會刪除參數指定位置的值
student.pop(1)
不同型態的值
Python是弱型語言嘛, 所以集合內的值, 不一定要同型態, 如下有的是字串, 有的是數字. 真是個奇葩的程式語言啊.
student=["Thomas", "John", "keven", 123]
集合中的集合
集合中, 可以是其他的集合
不過請注意, 要列印Thomas, 則必需使用 school[2][0]的方式取得
student=["Thomas", "John", "keven"] school=["校長", "Merry", student] print(school) print(school[2][0]) 結果 : ['校長', 'Merry', ['Thomas', 'John', 'keven']] Thomas
空集合
bus=[] , 此時的len(bus)則為 0
Tuple [ˈtjuːpəl]
另一種有序的集合, 叫元組(tuple). tuple和list 類似, 但tuple一旦初始化後就不能修改. 所以tuple沒有append, 也沒有insert.
有時為了安全性, 如果值不需再作改變時, 盡量使用tuple
classmates = ('Michael', 'Bob', 'Tracy')
#classmates[0]="abc" <==TypeError: 'tuple' object does not support item assignment
print(classmates)
tuple陷井1
以下的代碼, 並不是更改tuple, 而是tuple重新指向, 所以不是值的變更
t = ('Michael', 'Bob', 'Tracy') print(t) t=("Thomas",) print(t)
陷井2
t=(1,2) <==二個元素
t=() <==空的元素
t=(1) <==t 為1 這個數
t(1,) <== t只有一個元素, 所以只有一個元素的話, 一定要加 “,”
可變 tuple
下述的 t[2][0], 其實並不是可變的tuple, 而是在 tuple[2]含了一個可變的list, 所以變更的是list, 而不是tuple
t = ('Michael', 'Bob', ["Thomas", "John"]) t[2][0]="Kevin" print(t)
天干地支
from datetime import datetime sky=['甲','乙','丙','丁','戊','己','庚','辛','壬','癸'] land=['子','丑','寅','卯','辰','巳','午','未','申','酉','戌','亥'] animal=['鼠','牛','虎','免','龍','蛇','馬','羊','猴','雞','狗','豬'] current=datetime.now().year-1911 year=13 print(f"目前為民國 {current}年") for i in range(150): if(year<=current): print('{:s}{:s}: {:s} 民國{:3d}年 {:3d}歲'.format( sky[i%10], land[i%12], animal[i%12], year, current-year+1)) else: print('{:s}{:s}: {:s} 民國{:3d}年'.format( sky[i%10], land[i%12], animal[i%12], year)) year+=1 結果 目前為民國 109年 甲子: 鼠 民國 13年 97歲 乙丑: 牛 民國 14年 96歲 丙寅: 虎 民國 15年 95歲 丁卯: 免 民國 16年 94歲 戊辰: 龍 民國 17年 93歲 己巳: 蛇 民國 18年 92歲 庚午: 馬 民國 19年 91歲 辛未: 羊 民國 20年 90歲 壬申: 猴 民國 21年 89歲 癸酉: 雞 民國 22年 88歲 甲戌: 狗 民國 23年 87歲 乙亥: 豬 民國 24年 86歲 丙子: 鼠 民國 25年 85歲 丁丑: 牛 民國 26年 84歲 戊寅: 虎 民國 27年 83歲 己卯: 免 民國 28年 82歲 庚辰: 龍 民國 29年 81歲 辛巳: 蛇 民國 30年 80歲 壬午: 馬 民國 31年 79歲 癸未: 羊 民國 32年 78歲 甲申: 猴 民國 33年 77歲 乙酉: 雞 民國 34年 76歲 丙戌: 狗 民國 35年 75歲 丁亥: 豬 民國 36年 74歲 戊子: 鼠 民國 37年 73歲 己丑: 牛 民國 38年 72歲 庚寅: 虎 民國 39年 71歲 辛卯: 免 民國 40年 70歲 壬辰: 龍 民國 41年 69歲 癸巳: 蛇 民國 42年 68歲 甲午: 馬 民國 43年 67歲 乙未: 羊 民國 44年 66歲 丙申: 猴 民國 45年 65歲 丁酉: 雞 民國 46年 64歲 戊戌: 狗 民國 47年 63歲 己亥: 豬 民國 48年 62歲 庚子: 鼠 民國 49年 61歲 辛丑: 牛 民國 50年 60歲 壬寅: 虎 民國 51年 59歲 癸卯: 免 民國 52年 58歲 甲辰: 龍 民國 53年 57歲 乙巳: 蛇 民國 54年 56歲 丙午: 馬 民國 55年 55歲 丁未: 羊 民國 56年 54歲 戊申: 猴 民國 57年 53歲 己酉: 雞 民國 58年 52歲 庚戌: 狗 民國 59年 51歲 辛亥: 豬 民國 60年 50歲 壬子: 鼠 民國 61年 49歲 癸丑: 牛 民國 62年 48歲 甲寅: 虎 民國 63年 47歲 乙卯: 免 民國 64年 46歲 丙辰: 龍 民國 65年 45歲 丁巳: 蛇 民國 66年 44歲 戊午: 馬 民國 67年 43歲 己未: 羊 民國 68年 42歲 庚申: 猴 民國 69年 41歲 辛酉: 雞 民國 70年 40歲 壬戌: 狗 民國 71年 39歲 癸亥: 豬 民國 72年 38歲 甲子: 鼠 民國 73年 37歲 乙丑: 牛 民國 74年 36歲 丙寅: 虎 民國 75年 35歲 丁卯: 免 民國 76年 34歲 戊辰: 龍 民國 77年 33歲 己巳: 蛇 民國 78年 32歲 庚午: 馬 民國 79年 31歲 辛未: 羊 民國 80年 30歲 壬申: 猴 民國 81年 29歲 癸酉: 雞 民國 82年 28歲 甲戌: 狗 民國 83年 27歲 乙亥: 豬 民國 84年 26歲 丙子: 鼠 民國 85年 25歲 丁丑: 牛 民國 86年 24歲 戊寅: 虎 民國 87年 23歲 己卯: 免 民國 88年 22歲 庚辰: 龍 民國 89年 21歲 辛巳: 蛇 民國 90年 20歲 壬午: 馬 民國 91年 19歲 癸未: 羊 民國 92年 18歲 甲申: 猴 民國 93年 17歲 乙酉: 雞 民國 94年 16歲 丙戌: 狗 民國 95年 15歲 丁亥: 豬 民國 96年 14歲 戊子: 鼠 民國 97年 13歲 己丑: 牛 民國 98年 12歲 庚寅: 虎 民國 99年 11歲 辛卯: 免 民國100年 10歲 壬辰: 龍 民國101年 9歲 癸巳: 蛇 民國102年 8歲 甲午: 馬 民國103年 7歲 乙未: 羊 民國104年 6歲 丙申: 猴 民國105年 5歲 丁酉: 雞 民國106年 4歲 戊戌: 狗 民國107年 3歲 己亥: 豬 民國108年 2歲 庚子: 鼠 民國109年 1歲 辛丑: 牛 民國110年 壬寅: 虎 民國111年 癸卯: 免 民國112年 甲辰: 龍 民國113年 乙巳: 蛇 民國114年 丙午: 馬 民國115年 丁未: 羊 民國116年 戊申: 猴 民國117年 己酉: 雞 民國118年 庚戌: 狗 民國119年 辛亥: 豬 民國120年 壬子: 鼠 民國121年 癸丑: 牛 民國122年 甲寅: 虎 民國123年 乙卯: 免 民國124年 丙辰: 龍 民國125年 丁巳: 蛇 民國126年 戊午: 馬 民國127年 己未: 羊 民國128年 庚申: 猴 民國129年 辛酉: 雞 民國130年 壬戌: 狗 民國131年 癸亥: 豬 民國132年 甲子: 鼠 民國133年 乙丑: 牛 民國134年 丙寅: 虎 民國135年 丁卯: 免 民國136年 戊辰: 龍 民國137年 己巳: 蛇 民國138年 庚午: 馬 民國139年 辛未: 羊 民國140年 壬申: 猴 民國141年 癸酉: 雞 民國142年 甲戌: 狗 民國143年 乙亥: 豬 民國144年 丙子: 鼠 民國145年 丁丑: 牛 民國146年 戊寅: 虎 民國147年 己卯: 免 民國148年 庚辰: 龍 民國149年 辛巳: 蛇 民國150年 壬午: 馬 民國151年 癸未: 羊 民國152年 甲申: 猴 民國153年 乙酉: 雞 民國154年 丙戌: 狗 民國155年 丁亥: 豬 民國156年 戊子: 鼠 民國157年 己丑: 牛 民國158年 庚寅: 虎 民國159年 辛卯: 免 民國160年 壬辰: 龍 民國161年 癸巳: 蛇 民國162年
大樂透
import random
datas=[]
for i in range(7):
while True:
n=random.randint(1,49)
flag=True
for d in datas:
if n==d:
flag=False
break;
if flag:
datas.append(n)
break
print(datas)