1. 程式人生 > >Python數據類型之三(列表)

Python數據類型之三(列表)

返回 AC .so 出現 log don bsp style api

列表list

  • 結果類型 中括號括起來
  • 逗號(,)分割每一個元素
  • 列表中的元素可以是數字,字符串,列表,布爾值所有的都能放
  • 索引,切片

#append 增加新數據到列表最後
li = [alex,wusir,egon,女神,taibai]
li.append(lidongxu)
print(li)
#輸出:[‘alex‘, ‘wusir‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘]

#insert 增加新數據到列表指定位置(插入)
li = [alex, wusir, egon, 女神, taibai, lidongxu
] li.insert(2,liuyi) print(li) #輸出:[‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘] #extend 叠代添加 數據會被分解到最小元素 例:‘小明‘ 會被分解為 ‘小‘, ‘明‘ li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu] li.extend(小明) print(li) #輸出結果:[‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]

#pop 有返回值
li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu, , ]
li.pop() #沒有值 默認刪除最後一個
print(li)
#輸出:[‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘]

#按照索引刪除
li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu, , ]
name = li.pop(0) #
按照索引刪除 print(name,li) #輸出:alex [‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] #remove 按照元素刪除 無返回值 li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu, , ] li.remove() print(li) #clear 清空列表 li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu, , ] li.clear() print(li) #del刪除列表 會報錯 li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu, , ] del.li print(li) #切片刪除列表中某一部分 li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu, , ] del li[0:3] print(li) #輸出:[‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]

#按照索引修改
li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu, , ]
li[0] = lidongxu #按照索引修改
print(li)
#輸出:[‘lidongxu‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]



#會拆分到最小單元
li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu, , ]
li [0:2] = 你好啊
print(li)
#輸出:[‘你‘, ‘好‘, ‘啊‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]



#完整替換切片部分
li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu, , ]
li [0:2] = [1。2。3]
print(li)
#輸出:[‘1。2。3‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]

for循環
#按照索引數循環
li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu, , ]
for i in li :
     print(li)
#輸出:
    # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]
    # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]
    # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]
    # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]
    # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]
    # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]
    # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]
    # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]
    # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]


#按照索引數循環打印出切片內容
li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu, , ]
for i in li :
    print(li[0:2])
# 輸出:
#     [‘alex‘, ‘wusir‘]
#     [‘alex‘, ‘wusir‘]
#     [‘alex‘, ‘wusir‘]
#     [‘alex‘, ‘wusir‘]
#     [‘alex‘, ‘wusir‘]
#     [‘alex‘, ‘wusir‘]
#     [‘alex‘, ‘wusir‘]
#     [‘alex‘, ‘wusir‘]
#     [‘alex‘, ‘wusir‘]


len
#打印列表長度
li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu, , ]
i = len(li)
print(i)
#輸出:9


count
#某一元素或字符串出現的次數
li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu, , ]
i = li.count(alex)
print(i)
#輸出:1 PS:列表中只能查引號中的元素。



index
#索引位置,,沒有會報錯。列表中只能用index
li = [alex, wusir, liuyi, egon, 女神, taibai, lidongxu, , ]
print(li.index(wusir))
# 輸出:1

sort
#從小到大排序(升序)
li = [1, 3, 2, 6, 4, 5, 7, 9, 8]
li.sort()
print(li)
# # 輸出:[‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘]

#從大到小排序(降序)
li = [1, 3, 2, 6, 4, 5, 7, 9, 8]
li.sort(reverse=True)
print(li)
# # 輸出:[‘9‘, ‘8‘, ‘7‘, ‘6‘, ‘5‘, ‘4‘, ‘3‘, ‘2‘, ‘1‘]

reverse
#列表整體反轉
li = [1, 3, 2, 6, 4, 5, 7, 9, 8]
li.reverse()
print(li)
# # 輸出:[‘8‘, ‘9‘, ‘7‘, ‘5‘, ‘4‘, ‘6‘, ‘2‘, ‘3‘, ‘1‘]

而且列表還能進行嵌套

#打印列表中小列表的元素
li = [alex, wusir, liuyi,  女神, taibai, [8,3,lidongxu,1],, ]
print(li[5][2])
# 輸出:lidongxu

#替換某個元素的首字母大寫
li = [alex, wusir, liuyi,  女神, taibai, [8,3,lidongxu,1],, ]
li [0]  = li[0].capitalize()
print(li)
# 輸出:[‘Alex‘, ‘wusir‘, ‘liuyi‘, ‘女神‘, ‘taibai‘, [‘8‘, ‘3‘, ‘lidongxu‘, ‘1‘], ‘小‘, ‘明‘]

列表中的join方法:

# join()方法
# S.join():其中S是字符串連接符,join中參數必須是可叠代對象,join()方法輸出可叠代對象的每一個元素,並用連接符將每一個元素連接
s = ilovepython
l = [C,Java,C++,Ruby,PHP,Python]
print(_.join(s))
>>> i_l_o_v_e_p_y_t_h_o_n
print(_.join(l))
>>> C_Java_C++_Ruby_PHP_Python

列表與str之間的轉換:

# string <——> list : 字符串與列表的相互轉換
# string ——> list : split()

s = i_l_o_v_e_p_y_t_h_o_n
print(s.split(_))
>>> [i, l, o, v, e, p, y, t, h, o, n]

# list ——> string : join() 
l = [C,Java,C++,Ruby,PHP,Python]
print(‘‘.join(l))
>>> CJavaC++RubyPHPPython

range()方法:

# range:相當於都是數字的列表 [0,1,2,3,4.....,99]
# range(起始值,終止值)
for i in range(0,100):
    print(i)

# 默認起始值不寫默認為0
for i in range(100):
    print(i)

# 同索引一樣,range也可以加步長,加步長的話默認的0起始值就不可以省略
for i in range(0,100,2):
    print(i)

for i in range(100,0,-2):
    print(i)

# ★★★註意!面試題:不報錯,也不輸出結果!
‘‘‘
起始值:0
終止值:10
步長:-1
‘‘‘
for i in range(0,10,-1):
    print(i)

Python數據類型之三(列表)