1. 程式人生 > >2018-5-31-Python全棧開發day12-列表,字典,元組

2018-5-31-Python全棧開發day12-列表,字典,元組

獲取 color 順序 highlight lis In 4.3 4.2 方法

1.列表

  列表是以中括號表示, 以逗號分隔。列表內可以嵌套各種,比如說字符串,列表,元組,字典,可以無限嵌套。

  s1=[]

  1.1 索引

    s1=[‘alex‘,[123],{123},(123)]

    v1=s1[0]---‘alex‘

  1.2 切片

    v2=s1[0:3]----[‘alex‘, [123], {123}]

    切片依舊是左閉右開區間。

列表可以進行修改,是叠代器,可以進行for循環和while循環,可以不連續的存在內存當中。

    例:s1[1]=222

      print(s1)

      [‘alex‘,222,{123},(123)]

  1.3 對列表進行判斷

    s= ‘alex‘ in s1

    print(s)-----

     True

    其中,列表內的第一級元素是一個整體,只能判斷這個整體是否在列表中

2.列表的操作

  2.1  找到列表內元素的子項

s1=[alex,[123,aa,bb],{123},(123)]
#找到‘aa‘
v=s1[1][1]
print(v)

  ----aa

  2.2將字符串轉換為列表

    將字符串轉換為列表,其內部是通過循環的方式實現的

    比如講‘alex’轉換為列表,則

  

s1=alex
v1=[]
for i in s1:
    v1.append(i)
print(v1)

輸出:[‘a‘, ‘l‘, ‘e‘, ‘x‘]

    想要利用這個功能,不能是int數字,因為數字int不是可叠代的。

  2.3 將列表轉換為字符串

    2.3.1列表內既有數字又有字符串

     自己寫for循環-- +=

    2.3.2列表內只有字符串

      

S1=[ALEX,AA,BB]
V=‘‘.join(S1)
print(V)

-----

ALEXAABB

  2.4 list.append()將東西追加到列表尾部

    

s1=[alex,a,b]
v=s1.append(good morning
) print(s1)
-------
[alex, a, b, good morning]

  有一點和字符串不同,因為列表是可以直接進行修改的,所以,在上個例子中,如果是字符串,則需要用另一個V來代替s1,但是對於列表來說,直接進行修改了,是在原來列表的基礎上,所以v只是append這個動作完成了,所以輸出的還是s1

  2.5 clear

    對列表進行清除

    

s1=[alex,a,b]
s1.clear()
print(s1)

###
[]

   2.6 copy,,淺拷貝

      將一個列表拷貝到另外一個列表中

s1=[alex,a,b]
s2=s1.copy()
print(s2)
######

[alex, a, b]

  2.7 count 進行計數,計算某個元素出現的次數

     

s1=[alex,a,b]
s2=s1.count(alex)
print(s2)

#####
1

  2.8 extend() 拓展可叠代對象

    叠代的東西一定是可以叠代的,而且內部是進行for循環

    

s1=[alex,a,b]
s2=s1.extend(alex)
print(s1)


#########
[alex, a, b, a, l, e, x]

  2.9 index 找到某元素的所在位置

      

s1=[‘alex‘,‘a‘,‘b‘]
s2=s1.index(‘alex‘)
print(s2)
1 #######
2 0

  2.10 insert 在指定位置插入某個元素

    

1 s1=[alex,a,b]
2 s1.insert(2,alex)
3 print(s1)
4 
5 
6 #########
7 [alex, a, alex, b]

  2.11 pop刪除某個值並且獲取

    

1 s1=[alex,a,b]
2 s2=s1.pop(0)
3 print(s2)
4 print(s1)
5 
6 #####
7 alex
8 [a, b]

    如果pop後面沒有跟值,則默認刪除最後一個值

   2.12 remove

    直接刪除某個元素,但是並不獲取

   2.13 reverse 對元素的順序進行反轉

      

s1=[11,22,33,444,55,66,]
s2=s1.reverse()
#print(s2)
print(s1)

######
[66, 55, 444, 33, 22, 11]

    2.14 sort

       對列表的順序進行整理

      

s1=[11,22,33,444,55,66,]
s2=s1.sort()
#print(s2)
print(s1)

####
[11, 22, 33, 55, 66, 444]

總結:列表是有順序的,而且可以被修改

3.元組tuple

  元組是對列表進行加工,使其不能被修改

  元組內也可以包含任何東西

  3.1 可以通過索引來獲取元組內的特殊值

  3.2 可以通過切片來獲取元組內的特殊值

  3.3 字符串、列表和元組可以進行相互轉換

  3.4 可以進行for循環,也是可叠代對象

  3.5 元組也是有序的

##########################

元組的方法:count和index

4.字典dict

keys:鍵

value:值

info={‘k1‘:v1,‘k2‘:v2}

value可以是任何類型

key不能是列表,也不能是字典

可以是布爾值,但是不能和其他沖突,比如說 True的默認值是1,。。

  其中,False的默認值None,,空的字符串‘’,空的元組()。空的列表[],空的字典,和0.其他的都是True

字典是無序的

4.1 items

  

info={alex:123,"a":nishishei,v:555}
for k,v in info.items():
    print(k,v)



alex 123
a nishishei
v 555

4.2 clear清除

4.3copy 淺拷貝

4.4 fromkeys(key,value)

其中,key可以是可叠代器,value是一個固定的值,也就是將一個可叠代器內的所有元素,統一對應一個相同的value,形成字典

info=alex
s1={}
v2=s1.fromkeys(info,222)
print(v2)



{a: 222, l: 222, e: 222, x: 222}

4.5 get,根據key返回value,如果沒有返回默認值None,可以對None進行修改

    

info={alex:123,"a":nishishei,v:555}
#info=‘alex‘

v2=info.get(567,222)
print(v2)

------
222

因為沒有key567,所以返回參數,222

4.6 pop(key,返回默認值)

  如果沒有key,則返回默認值

  如果有,則刪除並且獲取

4.7 popitem()

  隨機刪除一堆鍵值對

4.8 setdefault(key,value)

  如果字典內有這個key,則獲取這個key對應的value,如果沒有,則創建key和value

4.9update(key,value)

  已經有的key進行修改,沒有的進行添加

     

2018-5-31-Python全棧開發day12-列表,字典,元組