今天學習第二章,關於列表和元組。
1.序列有6種,如下:
集合是既不包含序列,也不包含對映的容器型別。
2.序列裡面也可以包含序列:
>>> x=['a']
>>> y=['b']
>>> z=[x,y]
>>> z
[['a'], ['b']]
> x=['a',1]
>>> y=['b',3]
>>> z=[x,y]
>>> z
[['a', 1], ['b', 3]]
可以寫數值,可以寫字元,雙方混合也可以。
3.序列的排序是從0開始,一定要注意。
從左往右排序從第0號開始,後面是1,2,3,依此類推(預設排序)
從右往左排序從第-1號開始,後面是-2,-3,依此類推。
>>> x='1','2','3','4','5'
>>> x[3]
'4'或者
>>> x='1','2','3','4','5'
>>> x[-2]
'4'或者
>>> 『hello'[1]
'e'注意:字串可以直接索引,不用加變數進行賦值。
[ ] 是索引符號
4.如果函式呼叫了乙個序列,可以直接對返回結果進行索引,如下:
>>> x = input('數字:')[1]
數字:1024
>>> x
'0'5.示範:
#根據給定的年月日以數字形式列印出日期
months = [
'1月',
'2月',
'3月',
'4月',
'5月',
'6月',
'7月',
'8月',
'9月',
'10月',
'11月',
'12月'
]#以1-31的數字做結尾的列表,英文的1,2,3,後面有專有的字尾,分別是1st, 2nd, 3rd, 之後的數字全是th結尾。
endings = ['st','nd','rd']+17*['th']\
+['st','nd','rd']+7*['th']\
+['st']
# 17*['th'] 的意思是後面連續跟了17個 'th' 。
year = input ('年:')
month= input ('月:')
day = input ('日:')
month_number = int (month)
day_number = int (day)
#記得將月份和天數減1,以獲得正確的索引
month_name = months[month_number-1]
ordinal = day + endings[day_number-1]
print (month_name + ordinal + ',' + year)
上面是英文格式的,下面我自己寫了乙個中文的:
#根據給定的年月日以數字形式列印出日期
months = [
'1月',
'2月',
'3月',
'4月',
'5月',
'6月',
'7月',
'8月',
'9月',
'10月',
'11月',
'12月'
]#以1-31的數字做結尾的列表
endings = ['1日','2日','3日','4日','5日',
'6日','7日','8日','9日','10日',
'11日','12日','13日','14日','15日',
'16日','17日','18日','19日','20日',
'21日','22日','23日','24日','25日',
'26日','27日','28日','29日','30日',
'31日']
year = input ('年:')
month = input ('月:')
day = input ('日:')
month_number = int (month)
day_number = int (day)
#記得將月份和天數減1,以獲得正確的索引
month_name = months[month_number-1]
ordinal = endings[day_number-1]
print (month_name + ordinal + ',' + year + '年')
6.[a:b] 分片功能,提取 第a號到第b號 之間的內容(不包含第b號的內容)
>>> number=[1,2,3,4,5,6,7,8,9,10]
>>> number[1:8]
[ 2, 3, 4, 5, 6, 7,8]
如果索引內留空,可以向左或向右,全部顯示。
>>> number[ :8]
[1, 2, 3, 4, 5, 6, 7, 8]
> number[1: ]
[2, 3, 4, 5, 6, 7, 8, 9, 10]
> number[ : ]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
注意:
從a到最後,[a: ]
從最前到b,[ :b] (不含b)
全部顯示,[ : ]
分片的步長,預設是1, [a:b:c],a是起點,b是終點(不含b),c是步長(預設值是1)。
>>> number=[1,2,3,4,5,6,7,8,9,10]
>>> number[1:8:2]
[2, 4, 6, 8]
> number[1:8:3]
[2, 5, 8]
注意:步長不能為0,但是可以為負數,步長為負數時,起點數應大於結束點數
[a:b:-c] ,當c為負數時,a>b。
7.數字x乘以乙個序列時會生成乙個新的序列,
如果序列乘以數值x,該序列將會被重複x次。
>>> 'hello'*3
'hellohellohello'
> [1,2]*3
[1, 2, 1, 2, 1, 2]
8.none 表示裡面什麼都沒有。
[0]*10表示建立10個無內容的序列。
9.序列相加可以把幾個序列連線在一起,但是要注意相加的序列之間,型別必須一致,列表+列表,字串+字串,不能混合相加。
今天的小作業,製作乙個盒子,盒子可以隨著裡面的文字內容而變化大小。
#以正確的寬度在居中的「盒子」內列印乙個句子
sentence= input('請輸入:')
text_width= len(sentence)
print('+'+'-'* text_width +'+')
print('|'+' '* text_width +'|')
print('|'+ sentence +'|')
print('|'+' '* text_width +'|')
print('+'+'-'* text_width +'+')
Python 學習筆記三 序列
sequence 序列 是一組有序的元素的集合,序列可以有任何元素,也可以沒有元素 元組與表的區別 一旦建立,tuple的各個元素不可再變更,而list的各個元素可以再變更 s1 1,2,zhansan 李四 false s2 1,2,zhansan lili true print s1,type ...
python筆記(1)序列
最近各種東西實在太忙了,但是忙裡偷閒還是要開一本書,老外寫的,雖然囉嗦但是很有啟發性的。1.記錄函式 如果想要給函式寫文件,從而讓後來者使用能夠更加理解,可以加入注釋,以 開頭 另外一種方式就是直接寫上字串,它們會作為函式的一部分進行儲存,這成為 文件字串 例如 def square x calcu...
Python基礎 4序列總結
區別 列表 list 元組 tuple 字典 dictionary 字串 char 修改可以修改 不可修改 可以修改 可以修改 索引有索引 有索引無索引 有索引型別 相同型別 不同型別 任何型別 文字字元 場景普遍使用 特定場景 描述事物 多種方法 切片可以切片 可以切片 不可切片 可以切片 名稱基...