Python 中字符串被定義爲引號之間的字符集合。Python 支持使用成對的單引號或雙引號,三引號(三個連續的單引號或者雙引號)可以用來包含特殊字符。使用索引運算符( [ ] )和切片運算符( [ : ] )可以得到子字符串。字符串有其特有的索引規則:第一個字符的索引是 0,最後一個字符的索引是 -1
>>> str = 'Python'
>>> str[0] #str的第一個字符
'P'
>>> str[-1] #str的最後一個字符
'n'
>>> str[2:5] #切片操作 str的第二個-第四個字符
'tho'
>>> iscool = 'is cool!'
>>> iscool[:2] #切片操作 is cool的前兩個字符
'is'
>>> iscool[3:] #切片操作 iscool第三個字符後面的所有字符
'cool!'
>>> str+iscool #連接操作
'Pythonis cool!'
>>> str+" "+iscool
'Python is cool!'
>>> '_'*20 #輸出多個符號
'____________________'
>>>
列表和元組有幾處重要的區別。列表元素用中括號( [ ])包裹,元素的個數及元素的值可以改變。元組元素用小括號(( ))包裹,不可以更改(儘管他們的內容可以)。元組可以看成是隻讀的列表。通過切片運算( [ ] 和 [ : ] )可以得到子集,這一點與字符串的使用方法一樣。
>>> alist =[1,2,3,4]
>>> alist
[1, 2, 3, 4]
>>> alist[0]
1
>>> alist[2:]
[3, 4]
>>> alist[:3]
[1, 2, 3]
>>> alist[1]
2
>>> alist[1]=5 #列表信息可以被修改
>>> alist
[1, 5, 3, 4]
>>>
###############################
>>> phone =('nokia','sunsang','apple')
>>> phone
('nokia', 'sunsang', 'apple')
>>> phone[:3]
('nokia', 'sunsang', 'apple')
>>> phone[1] = 'chuizi' #元組信息不能被修改
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>>
字典是 Python 中的映射數據類型,工作原理類似 Perl 中的關聯數組或者哈希表,由鍵-值(key-value)對構成。幾乎所有類型的 Python 對象都可以用作鍵,不過一般還是以數字或者字符串最爲常用。
值可以是任意類型的 Python 對象,字典元素用大括號({ })包裹。
>>> pyDict = {'football':'funny'} #字典用大括號包起來
>>> pyDict['pingpang']='very good' #也可以這樣賦值
>>> pyDict
{'pingpang': 'very good', 'football': 'funny'}
>>> pyDict.keys() #顯示所有的key
['pingpang', 'football']
>>> pyDict.values() #顯示所有的value
['very good', 'funny']
>>> pyDict['pingpang'] #通過key找到對應的value
'very good'
Python 中的 for 循環與傳統的 for 循環(計數器循環)不太一樣, 它更象 shell 腳本里的 foreach 迭代。Python 中的 for 接受可迭代對象(例如序列或迭代器)作爲其參數,每次迭代其中一個元素。
>>> item = {"python","is","most","language"}
>>> for items in item:
... print items
...
python #python默認在每一行後面添加一個換行符
most
is
language
>>>
##############
>>> item = {"python","is","most","language"}
>>> for items in item:
... print items, #添加,的結果
...
python most is language
>>>
##############爲了輸出清晰美觀, 帶逗號的 print 語句輸出的元素之間會自動添加一個空格。通過指定輸出格式, 程序員可以最大程度的控制輸出佈局, 也不用擔心這些自動添加的空格。它也可以將所有數據放到一處輸出--只需要將數據放在格式化運算符右側的元組或字典中。
>>> who = 'knights'
>>> what = 'Ni!'
>>> print 'We are the',who,'who say',what,what,what,what
We are the knights who say Ni! Ni! Ni! Ni!
>>> print "We are the %s who say %s" %(who,((what + " ")*4))
We are the knights who say Ni! Ni! Ni! Ni!
>>>
########>>> for number in range(14):
... print number
...
0
1
2
3
4
5
6
7
8
9
10
11
12
13
>>> zimu = 'abcdefg'
>>> for z in zimu:
... print z
...
a
b
c
d
e
f
g
還可以和len()搭配使用>>> zimu = 'abcdefg'
>>> for i in range(len(zimu)): #顯示字符串編號
... print zimu[i],'%d'%(i)
...
a 0
b 1
c 2
d 3
e 4
f 5
g 6
>>>
>>> for i, ch in enumerate(zimu):#####enumerate()函數 同時輸出字母和編號
... print ch ,'(%d)' % i
...
a (0)
b (1)
c (2)
d (3)
e (4)
f (5)
g (6)
>>>
#####列表解析
>>> squared = [x ** 2 for x in range(4)]
>>> print squared
[0, 1, 4, 9]
>>>
>>> squared = [x ** 2 for x in range(4)]
>>> for i in squared:
... print i
...
0
1
4
9