一、數(shù)據(jù)類型:

            -?數(shù)值-?字符串-?列表-?元組-?字典
          

1.數(shù)值類型:

(1)整型

            ????????In?[6]:?a?=?123

????????In?[7]:?type(a)

????????Out[7]:?int

????????In?[8]:
          

(2)長整型

            ????????In?[8]:?a?=?199999999999999999999999999999

????????In?[9]:?a

????????Out[10]:?199999999999999999999999999999L

????????In?[11]:?type(a)

????????Out[12]:?long

????????In?[13]:
          

(3)浮點型

            ????????0.0,?12.0???-18.8???3e+7等

????????科學(xué)計數(shù)法是浮點型

????????In?[11]:?3e+7

????????Out[11]:?30000000.0

????????In?[12]:?type(3e+7)

????????Out[12]:?float

????????In?[13]:?3.0/2

????????Out[13]:?1.5

????????In?[14]:?type(3.0/2)

????????Out[14]:?float

????????In?[15]:
          

(4)復(fù)數(shù)型

            ????????python對復(fù)數(shù)提供內(nèi)嵌支持,這是大部分軟件沒有的。

????????In?[8]:?a?=?3.14j

????????In?[9]:?a

????????Out[9]:?3.14j

????????In?[10]:?type(a)

????????Out[10]:?complex
          

2.字符串類型:

            ????????In?[12]:?a?=?'abc'

????????In?[13]:?a

????????Out[13]:?'abc'

????????In?[14]:?type(a)

????????Out[14]:?str

????????In?[15]:

????????三重引號還可以做注釋:.

????????In?[28]:?a?=?'hello\nworld'

????????In?[29]:?a

????????Out[29]:?'hello\nworld'

????????In?[30]:?a?=?"hello\nworld"

????????In?[31]:?a

????????Out[31]:?'hello\nworld'

????????In?[39]:?a?=?????'''hello\nworld'''

????????In?[40]:?a

????????Out[40]:?'hello\nworld'

????????In?[41]:?print?a

????????hello

????????world

????????In?[42]:

????????In?[43]:?type(a)

????????Out[44]:?str
          

序列索引:

            ????In?[42]:?a?=?'abcde'

????In?[43]:?a[0]

????Out[43]:?'a'

????In?[44]:?a[1]

????Out[44]:?'b'

????In?[45]:?a[-1]

????Out[45]:?'e'

????In?[46]:?a[-2]

????Out[46]:?'d'
          

序列切片:

            ????In?[42]:?a?=?'abcde'

????In?[43]:?a[0]

????Out[43]:?'a'

????In?[44]:?a[1]

????Out[44]:?'b'

????In?[45]:?a[-1]

????Out[45]:?'e'

????In?[46]:?a[-2]

????Out[46]:?'d'

????In?[47]:?a[0:2]

????Out[47]:?'ab'

????In?[48]:?a[0:4]

????Out[48]:?'abcd'

????In?[49]:?a[0:3]

????Out[49]:?'abc'

????In?[50]:?a[1:3]

????Out[50]:?'bc'

????In?[56]:?a[0]?+?a[1]

????Out[56]:?'ab'

????In?[57]:?a[:2]

????Out[57]:?'ab'

????In?[58]:?a[:]

????Out[58]:?'abcde'

????In?[59]:?a[:-1]

????Out[59]:?'abcd'

????In?[60]:?a[::-1]

????Out[60]:?'edcba'

????In?[61]:?a[::1]

????Out[61]:?'abcde'

????In?[62]:?a[:3:1]

????Out[62]:?'abc'

????In?[63]:?a[::2]

????Out[63]:?'ace'

????In?[64]:?a

????Out[64]:?'abcde'

????In?[65]:?a[-4::-2]

????Out[65]:?'b'

????In?[66]:?a[-4:-2]

????Out[66]:?'bc'

????In?[67]:?a[-2:-4:-1]

????Out[67]:?'dc'

????In?[68]:
          

二、元組

1.序列

            字符串、列表和元組都是序列

序列的兩個主要特點是索引操作符和切片操作符.
          

索引操作符讓我們可以從序列中抓取一個特定的項目。 切片操作符讓我們能夠獲取序列的一個切片,即一部分序列。 序列的基本操作:

(1) len() :求序列長度

            ????In?[1]:?a?=?'1234;5lasdfasdf'

????In?[2]:?len(a)

????Out[2]:?15
          

(2) +:連接2個序列(兩個str)

            ????In?[3]:?a?=?'hello'

????In?[4]:?b?=?'world'

????In?[5]:?print?a+b

????helloworld

????In?[6]:
          

(3) *:重復(fù)序列元素(*后面根的是int)

            ????In?[9]:?print?a?*?3????hellohellohello

????In?[10]:
          

(4) in:判斷元素是否在序列中

            ????In?[12]:?print?a

????[1,?3,?3,?5]

????In?[13]:?3?in?a

????Out[13]:?True
          

(5) max():返回最大值

            ????In?[21]:?print?a

????[1,?3,?3,?5]

????In?[22]:?print?max(a)

????5
          

(6) min():返回最小值

            ????In?[21]:?print?a

????[1,?3,?3,?5]

????n?[23]:?print?min(a)

????1
          

(7) cmp(x,y):比較兩個序列是否相等

            ????In?[24]:?a

????Out[24]:?[1,?3,?3,?5]

????In?[27]:?b?=?[1,3,3,5]

????In?[28]:?cmp?(a,b)

????Out[28]:?0

????In?[29]:?cmp(a,'1,3,3,5')

????Out[29]:?-1

????In?[30]:?cmp(a,[1,3,3,5])

????Out[30]:?0

????In?[31]:?cmp(a[1],a[2])

????Out[31]:?0

????In?[32]:?cmp(a[0],a[3])

????Out[32]:?-1

????In?[33]:?cmp(a[3],a[2])

????Out[33]:?1

????In?[34]:
          

元組:

            -?元組和列表十分相似-?元組和字符串一樣是不可以變的。
          

元組可以存儲一系列的值 元組通常用在用戶定義的函數(shù)能夠安全地采用一組值的時候,即被使用的元組的值不會改變。 In [34]: t = (1,3,5,'a',(1,))

            ????In?[35]:?type(t)

????Out[35]:?tuple

????In?[36]:?print?t

????(1,?3,?5,?'a',?(1,))

????In?[37]:
          

2.元組操作:

            元組和字符串一樣屬于序列類型,可以通過索引和切片操作

元組值不可變

無組的拆分

t?=?(1,2,3)

a,b,c=t

In?[150]:?t?=?(1,?3,?5,?'a',?(1,))

In?[151]:?print?t

(1,?3,?5,?'a',?(1,))

In?[39]:?t[0]

Out[39]:?1

In?[40]:?print?t

(1,?3,?5,?'a',?(1,))

In?[41]:?t[0]?=?2---------------------------------------------------------------------------TypeError?????????????????????????????????Traceback?(most?recent?call?last)


            
              ?in?
              
                ()---->?1?t[0]?=?2TypeError:?'tuple'?object?does?not?support?item?assignmentIn?[42]:
              
            
          

(1) 元組中引用變量:

            In?[42]:?a

Out[42]:?[1,?3,?3,?5]

In?[43]:?t?=?(a,'ab')

In?[44]:?t

Out[44]:?([1,?3,?3,?5],?'ab')

In?[45]:
          

(2) 元組切片:

            In?[44]:?tOut[44]:?([1,?3,?3,?5],?'ab')In?[45]:?first,second?=?t

In?[46]:?firstOut[46]:?[1,?3,?3,?5]In?[47]:?secondOut[47]:?'ab'In?[14]:?tOut[14]:?(1,?2,?3)In?[15]:?t.index(1)Out[15]:?0In?[16]:?t.index(2)Out[16]:?1In?[17]:?t.index(3)Out[17]:?2In?[18]:?t?=?(1,3,3,2,5)

In?[19]:?t.index(5)Out[19]:?4In?[20]:?t.count(3)Out[20]:?2In?[21]:?t.count(5)Out[21]:?1
          

三、列表

            列表內(nèi)可變

列表(list)是處理一組有序項目的數(shù)據(jù)結(jié)構(gòu),即要以在列表中存儲一個序列的項目。

列表顯示是可變類型的數(shù)據(jù)
          

1.創(chuàng)建列表:

            ?list1?=?[]

list2?=?[1,3,3,'a']

list3?=?list()

In?[22]:?list1?=?[]

In?[23]:?type(list1)

Out[23]:?listIn?[24]:?listlist???list1

In?[24]:?list2?=?list()

In?[25]:?type(list2)

Out[25]:?listIn?[26]:?listlist???list1??list2

In?[26]:?list2

Out[26]:?[]

In?[27]:?listlist???list1??list2

In?[27]:?list3?=?['a',1,2,(1,),[1,'a']]

In?[28]:?list3

Out[28]:?['a',?1,?2,?(1,),?[1,?'a']]

In?[29]:?len(list3)

Out[29]:?5In?[30]:

In?[30]:?list3[-1]

Out[30]:?[1,?'a']

In?[31]:?list3[0]

Out[31]:?'a'In?[37]:?list3

Out[37]:?['a',?1,?2,?(1,),?[1,?'a']]

In?[38]:?list3[0:3]

Out[38]:?['a',?1,?2]

In?[40]:?list3[0]?=?'b'In?[41]:?list3

Out[41]:?['b',?1,?2,?(1,),?[1,?'a']]
          

2.列表操作:

(1) 取值:

            切片和索引
          

(2) 添加:(append()默認(rèn)加到最后一個元素)

            list.append()

In?[85]:?list3

Out[85]:?['b',?[],?(1,),?1]

In?[86]:?list3[1]

Out[86]:?[]

In?[87]:?list3[1].append('abc')

In?[88]:?list3

Out[88]:?['b',?['abc'],?(1,),?1]
          

(3) 追加

            In?[42]:?list3.append(333)

In?[43]:?list3

Out[43]:?['b',?1,?2,?(1,),?[1,?'a'],?333]

In?[44]:

In?[43]:?list3

Out[43]:?['b',?1,?2,?(1,),?[1,?'a'],?333]

In?[44]:?list2

Out[44]:?[]

In?[45]:?list2?=?[1111,222,333]

In?[46]:?list2?+?list3

Out[46]:?[1111,?222,?333,?'b',?1,?2,?(1,),?[1,?'a'],?333]

In?[47]:

In?[52]:?(list2?+?list3)*2Out[52]:

[1111,222,333,'b',1,2,

(1,),

[1,?'a'],333,1111,222,333,'b',1,2,

(1,),

[1,?'a'],333]

In?[53]:
          

(4) 刪除

            del?list[]list.remove(list[])In?[53]:?list2Out[53]:?[1111,?222,?333]In?[54]:?del?listlist???list1??list2??list3In?[54]:?del?list2[2]In?[55]:?list2Out[55]:?[1111,?222]In?[55]:?list2Out[55]:?[1111,?222]In?[56]:?list2.remove(list2[1])In?[57]:?list2Out[57]:?[1111]
          

(5) 修改:

            list[]?=?xIn?[74]:?list2

Out[74]:?[1111,?22222,?2223,?22233434,?33434]In?[75]:?list2[0]?=?0000

In?[76]:?list2

Out[76]:?[0,?22222,?2223,?22233434,?33434]In?[77]:?list2

Out[77]:?[0,?22222,?2223,?22233434,?33434]In?[78]:?list2.insert(1,66666)

In?[79]:?list2

Out[79]:?[0,?66666,?22222,?2223,?22233434,?33434]In?[80]:
          

(6) 查找:

            var?in?listIn?[57]:?list2Out[57]:?[1111]In?[58]:?1?in?list2Out[58]:?FalseIn?[59]:?1111?in?list2Out[59]:?TrueIn?[60]:
          

(7) 排序:

            In?[90]:?list3

Out[90]:?['b',?['abc'],?(1,),?1]

In?[91]:?list3.sort()

In?[92]:?list3

Out[92]:?[1,?['abc'],?'b',?(1,)]

In?[93]:
          

(8) 反轉(zhuǎn):

            In?[93]:?list3

Out[93]:?[1,?['abc'],?'b',?(1,)]

In?[94]:?list3.reverse()

In?[95]:?list3

Out[95]:?[(1,),?'b',?['abc'],?1]

In?[96]:
          

(9) POP默認(rèn)刪除最后一個,pop刪除對應(yīng)位置.

            In?[103]:?list2Out[103]:?[0,?66666,?22222,?2223,?22233434,?33434]In?[104]:?list2.pop(1)Out[104]:?66666In?[105]:?list2Out[105]:?[0,?22222,?2223,?22233434,?33434]In?[106]:?list2.pop()Out[106]:?33434In?[107]:?list2.pop()Out[107]:?22233434In?[108]:?list2Out[108]:?[0,?22222,?2223]In?[109]:
          

(10) 迭代:

字符串,元組都是可迭代的,都可以通過for循環(huán)去訪問。

            In?[120]:?list3

Out[120]:?['b',?['abc']]

In?[121]:?range(5)

Out[121]:?[0,?1,?2,?3,?4]

In?[122]:?list3.extend(range(5))

In?[123]:?list3

Out[123]:?['b',?['abc'],?0,?1,?2,?3,?4]

In?[125]:?list3.extend('5555')

In?[126]:?list3

Out[126]:?['b',?['abc'],?0,?1,?2,?3,?4,?'5',?'5',?'5',?'5']

In?[127]:?list3.extend('a')

In?[128]:?list3

Out[128]:?['b',?['abc'],?0,?1,?2,?3,?4,?'5',?'5',?'5',?'5',?'a']

In?[129]:?list3.extend('1234')

In?[130]:?list3

Out[130]:?['b',?['abc'],?0,?1,?2,?3,?4,?'5',?'5',?'5',?'5',?'a',?'1',?'2',?'3',?'4']

In?[131]:
          
  • tab補齊:

  • python 一切都是對象

(11) 幫助:

help(t.index)

            Help?on?built-in?function?index:index(...)

????L.index(value,?[start,?[stop]])?->?integer?--?return?first?index?of?value.

????Raises?ValueError?if?the?value?is?not?present.

(END)