python列表

一. 特點:列表是最長用的內置數據類型之一

1. 列表用中括號【】表示

2. 內部元素用逗號,分隔。

3.列表內部元素可支持任意數據類型

 l = ['so','12','$$','A',['sad','fdw']]

二.列表的特性

1.索引

l = ['so','12','$$','A',['sad','fdw']]
print(type(l))
print(l[0])
print(l[-1])
print(l[3])

# 執行結果
<class 'list'>
so
['sad', 'fdw']
A

2.切片

l = ['so','12','$$','A',['sad','fdw']]
print(l[1:])        #從第二個元素開始
print(l[::-1])      #倒序輸出
print(l[::])        #輸出所有

#執行結果 

['12', '$$', 'A', ['sad', 'fdw']]
[['sad', 'fdw'], 'A', '$$', '12', 'so']
['so', '12', '$$', 'A', ['sad', 'fdw']]

3.重複

l = ['so','12','$$','A',['sad','fdw']]
print(l * 3 )

#執行結果

['so', '12', '$$', 'A', ['sad', 'fdw'], 'so', '12', '$$', 'A', ['sad', 'fdw'], 'so', '12', '$$', 'A', ['sad', 'fdw']]

4. 連接

l = ['so','12','$$','A',['sad','fdw']]
q = ['123','456']
print(l + q)

#執行結果

['so', '12', '$$', 'A', ['sad', 'fdw'], '123', '456']

5. 成員操作符號

l = ['so','12','$$','A',['sad','fdw']]
q = ['123','456']
print('12' in l)
print( '123' in q)

#執行結果

True
True

6.  for 循環遍歷

l = ['so','12','$$','A',['sad','fdw']]
#q = ['123','456']
for i in l:
    print(l)

#執行結果

['so', '12', '$$', 'A', ['sad', 'fdw']]
['so', '12', '$$', 'A', ['sad', 'fdw']]
['so', '12', '$$', 'A', ['sad', 'fdw']]
['so', '12', '$$', 'A', ['sad', 'fdw']]
['so', '12', '$$', 'A', ['sad', 'fdw']]

7.嵌套列表

service2 = [['123','abc'],['456','def'],['789','ghi']]

print(service2[1][1])     
print(service2[-1][1])
print(service2[:][1])
print(service2[:-1][0])
print(service2[0][:-1])

# 執行結果


def
ghi
['456', 'def']
['123', 'abc']
['123']

三. 列表的增加

append  增加

extend   拉伸

insert     插入

l = ['12','34','56','78']
print(l + ['90'])
print(l)
l.append('ab')               #追加一個元素到列表中
print(l)
l.extend(['cd','ef','gh'])   #追加多個元素到列表中
print(l)
l.insert(1,'00')             #指定位置插入元素,
print(l)




#執行結果

['12', '34', '56', '78', '90']
['12', '34', '56', '78']
['12', '34', '56', '78', 'ab']
['12', '34', '56', '78', 'ab', 'cd', 'ef', 'gh']
['12', '00', '34', '56', '78', 'ab', 'cd', 'ef', 'gh']

四. 刪除

remove  刪除指定元素

del         刪除關鍵字,從內存中刪除

l = ['12','34','56','78']
l.remove('78')                  #刪除指定元素
print(l)


del l                          #s刪除列表
print(l)                       #  輸出錯誤,列表l未定義

#執行結果

NameError: name 'l' is not defined
['12', '34', '56']

五. 列表的修改

1.  通過索引,重新賦值

l = ['12','34','56','78']
l[0] = '00'                   #直接通過索引賦值
print(l)
l[:1] = ['11','22']            #通過切片賦值
print(l)


#執行結果 

['00', '34', '56', '78']
['11', '22', '34', '56', '78']

六. 列表的查找

l = ['12','34','56','12','78']
print(l.count('12'))          #查看出現的次數
print( l.index('34'))         #查看指定元素的索引值
print(l.index('12',2,5))      #查看指定元素的索引值,並限定範圍

#執行結果

2
1
3

七. 列表的排序

sort 排序在按照 ascli碼排列

l = ['12','34','56','12','78','00']
l.sort()                                 #列表排序
print(l)

import random                            #調用隨機數
random.shuffle(l)                        #打亂順序
print(l)


#執行結果

['00', '12', '12', '34', '56', '78']
['78', '56', '34', '00', '12', '12']

八. 列表腳本練習

1.輸入月份,判斷季節
month = int(input('Month:'))
if month in [3,4,5]:
     print('春季')
elif month in [6,7,8]:
     print('夏季')
elif month in [9,10,11]:
     print('秋季')
elif month in [12,1,2]:
     print('冬季')
else:
    print('輸入不合法')




2.
names= ['123','877','1000']
print('+'.join(names[:-1]) + '=' + names[-1])

#執行結果
123+877=1000

腳本:   用戶管理系統
1.系統裏面有多個用戶,用戶的信息目前保存在列表裏面
    users = ['root','westos']
    passwd = ['123','456']
2.用戶登陸(判斷用戶登陸是否成功
    1).判斷用戶是否存在
    2).如果存在
        1).判斷用戶密碼是否正確
        如果正確,登陸成功,推出循環
        如果密碼不正確,重新登陸,總共有三次機會登陸
    3).如果用戶不存在
    重新登陸,總共有三次機會

"""

users = ['root','westos']
passwd = ['123','456']
print('--------用戶登錄系統---------')
usertime = 0
passtime = 0
while usertime < 3:
    a = input('輸入用戶名: ')
    if a in users:
        while passtime < 3:
            b = input('請輸入密碼')
            if b in passwd:
                print('登陸成功!')
                exit()
            else:
                print('密碼錯誤')
                passtime += 1
        else:
            print('三次輸入有誤,請稍後再試...')
    else:
        print('用戶名不存在,請重試.')
        usertime += 1
else:
    print('三次輸入有誤,請稍後再試.')

腳本:棧的工作

stack = []
info = """
        棧操作
    1.入棧
    2.出棧
    3.棧頂元素
    4.棧的長度
    5.棧是否爲空
    q.退出
"""
while True:
    print(info)
    choice = input('請輸入選擇:')
    if choice == '1':
        item = input('入棧元素:')
        stack.append(item)
        print('元素%s入棧成功' %item)
    elif choice == '2':
        #先判斷棧是否爲空
        if not stack:
            print('棧爲空,不能出棧')
        else:
            item = stack.pop()
            print('%s元素出棧成功' %item)
    elif choice == '3':                        
        if len(stack) == 0:
            print('棧爲空')
        else:
            print('棧頂元素爲%s' %(stack[-1]))
    elif choice == '4':
        print('棧的長度爲%s' %(len(stack)))
    elif choice == '5':
        if len(stack) == 0:
            print('棧爲空')
        else:
            print('棧不爲空')
    elif choice == 'q':
        print('退出')
        break
    else:
        print('請輸入正確的選擇')

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章