欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python學(xué)習(xí)之列表和元組-創(chuàng)新互聯(lián)

序列

l 成員有序排列的,且可以通過下標(biāo)偏移量訪問到它的一個或者幾個成員,這類類
型統(tǒng)稱為序列。
l 序列數(shù)據(jù)類型包括:字符串,列表,和元組類型。
l 特點: 都支持下面的特性
l 索引與切片操作符
l 成員關(guān)系操作符(in , not in)
l 連接操作符(+) & 重復(fù)操作符(*)

長泰網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

1列表

#創(chuàng)建一個空列表
li = []
print(li, type(li))
#列表(打了激素的數(shù)組): 可以存儲任意數(shù)據(jù)類型的集和。
li = [1, 1.2, 2e+10, True, 2+3j, 'hello', [1, 2, 3]]
print(li, type(li))

#列表的特性: index, slice, in/not in, 連接, 重復(fù)

print(li[2])    # 2e+10
print(li[-1])   # [1, 2, 3]
print(li[1:4])  # [1.2, 2e+10, True]
print(li[:4])   # [1, 1.2, 2e+10, True], 獲取列表的前4個元素
print(li[2:])   # [2e+10, True, 2+3j, 'hello', [1, 2, 3]], 獲取除了前2個元素之外的其他元素
print(li[:])    # 列表的拷貝
print(li[::-1]) # 列表的反轉(zhuǎn)
#嵌套索引
print(li[-1])  # [1, 2, 3]
print(li[-1][0])    # 1

print(1 in li)      # True
print(1 not in li)  # False

print([1, 2, 3] + [3, 4, 5])    # [1, 2, 3, 3, 4, 5]
print([1]*10)                   # [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
#字符串是不可變的數(shù)據(jù)類型, 列表是可變的數(shù)據(jù)類型
"""
s = 'hello'
print(id(s))
s[0] = 'a'
print(s)
s = 'westos'
print(s)
"""

li = [1, 2, 3, 4]
print("更改之前的id:", id(li))
li[0] = 100
print("更改之后的id:", id(li))
print(li)

2列表的增刪改查

#*************************增*******************************************
li = [1, 2, 3, 4]
li.append(7)
print(li)

li.insert(0, 'python')
print(li)

li.extend([6, 7, 8, 9])
print(li)

#*******************改***********************************************
li[0] = 'python language'
print(li)

li[:2] = [1, 2]
print(li)

#*************************查**************************************
print(li.index(1))
print(li.count(1))

#**************************刪**********************************
li.remove(1)
print(li)

delete_item = li.pop()
print(delete_item, li)

del li[0]
del li[:2]
print(li)

li.clear()
print(li)

#*******************************其它***************************************
import random
li = list(range(10))
random.shuffle(li)
print(li)

li1 = li.copy()
print(li, li1)

li.reverse()
print(li)

li.sort()
print(li)

總結(jié)
python學(xué)習(xí)之列表和元組

3元組

1). 定義空元組 tuple = ()
2). 定義單個值的元組 tuple = (fentiao,)
3). 一般的元組 tuple = (fentiao, 8, male)
元組
元組的創(chuàng)建,刪除及特性

li = [1, 2, 3, 4]
print(li, type(li))

#元組的定義
tuple = (1, 2, 3, 4)
print(tuple, type(tuple))

#定義空元組
none_tuple = ()
print(none_tuple, type(none_tuple))

#(*********)定義只有一個元素的元組
one_item_tuple = (1, )
print(one_item_tuple, type(one_item_tuple))

#元組和列表類似, 可以存儲任意數(shù)據(jù)類型的數(shù)據(jù)。 列表是可變數(shù)據(jù)類型(是否有增刪改的內(nèi)置方法), 元組是不可變數(shù)據(jù)類型.
many_items_tuple = (1, 2.897, 34e-9, True, [1, 2, 3, 4], (1, 2, 3, 4))
print(many_items_tuple, type(many_items_tuple))

#************************元組的特性***************************************
t = (1, 2, 3, 4, 5, 6)
#索引和切片
print(t[0])  # 1
print(t[-1])    # 6
print(t[:2])    # (1, 2)
print(t[:-1])   # (1, 2, 3, 4, 5)
print(t[2:])    # (3, 4, 5, 6)

#成員操作符
print(1 in t)
print(1 not in t)

#重復(fù)和連接
print((1, 2, 3) + (1, ))
print((1, 2) * 3)

#*****************元組的內(nèi)置方法**************************************
t = [1, 2, 3, 1, 2, 3]
print(t.index(1))
print(t.count(1))
特性:
連接&重復(fù)操作符、成員操作符、索引&切片
元組是不可變數(shù)據(jù)類型,不能對元組的值任意更改;
t.count(value)-->int 返回value在元組中出現(xiàn)的次數(shù);
t.index(value)

返回value在元組中的偏移量(即索引值)元組
元組賦值應(yīng)用
特性1: 對元組分別賦值,引申對多個變量也可通過元組方式分別賦值
name, age, gender = 'fentiao', 10, 'male'
print(name, age, gender)

#小范例: 去掉高分和最低分, 求平均得分

scores = [98, 67, 78, 99, 100]
scores.sort()
#*scores在python3中可以使用, 在python2中不可以使用。
low_score, *other_scores, high_score = scores
print("最低分: ", low_score)
print("高分: ", high_score)
print("平均分列表: ", other_scores)
print("平均分: ", round(sum(other_scores) / len(other_scores), 2))

#特性2: 變量交換
x = 2; y = 3
x, y = y, x
print(x, y)

#特性3: print打印
print("name: %s, age:%d, gender: %s" %('fentiao', 10, 'male'))
t = ('fentiao', 10, 'male')
print("name: %s, age:%d, gender: %s" %(t[0], t[1], t[2]))
print("name: %s, age:%d, gender: %s" %t)

命名元組

from datetime import  datetime
today = datetime.today()
print(today)

import time
struct_time = time.localtime()
print(struct_time.tm_yday)
print(struct_time.tm_year)

t = (2019, 12, 1)
print(t[0])
print(t[1])
print(t[2])

"""
#從collections模塊中導(dǎo)入namedtuple命名元組類
from collections import namedtuple
#創(chuàng)建一個類, 類名為AccountInfo ,元組里面包含兩列信息, 分別是'name', 'password'
AccountInfo = namedtuple('AccountInfo', ['name', 'password'])
#實例化對象
root_account = AccountInfo('root','westos')
print(root_account.name)
print(root_account.password)

#類屬性 _fields:包含這個類所有字段名的元組
print(root_account._fields)

is和==的區(qū)別

問題: is和==兩種運算符在應(yīng)用上的本質(zhì)區(qū)別是什么?
1). Python中對象的三個基本要素,分別是:id(身份標(biāo)識)、type(數(shù)據(jù)類型)和value(值)。
2). is和==都是對對象進行比較判斷作用的,但對對象比較判斷的內(nèi)容并不相同。
3). ==用來比較判斷兩個對象的value(值)是否相等;(type和value)
is也被叫做同一性運算符, 會判斷id是否相同;(id, type 和value)

深拷貝和淺拷貝

淺拷貝: 對另外一個變量的內(nèi)存地址的拷貝,這兩個變量指向同一個內(nèi)存地址的變量值。(li.copy(), copy.copy())
?公用一個值;
?這兩個變量的內(nèi)存地址一樣;
?對其中一個變量的值改變,另外一個變量的值也會改變;
深拷貝: 一個變量對另外一個變量的值拷貝。(copy.deepcopy())
?兩個變量的內(nèi)存地址不同;
?兩個變量各有自己的值,且互不影響;
?對其任意一個變量的值的改變不會影響另外一個;

項目背景:

騰訊云服務(wù)器 CVM(Cloud Virtual Machine)是騰訊云提供的可擴展的計算服務(wù)。
使用 CVM 避免了使用傳統(tǒng)服務(wù)器時需要預(yù)估資源用量及前期投入,幫助您在短時間內(nèi)快速啟動任意
數(shù)量的云服務(wù)器并即時部署應(yīng)用程序。騰訊云 CVM 支持用戶自定義一切資源:CPU、內(nèi)存、硬盤、
網(wǎng)絡(luò)、安全等等,并可以在需求發(fā)生變化時輕松地調(diào)整它們。

需求:


***************云主機管理系統(tǒng) ****************
******************************************
        1). 添加云主機
        2). 刪除云主機
        3). 修改云主機
        4). 查看云主機
        0). 退出系統(tǒng)

******************************************

云主機的屬性信息:
id: 遞增,主機id
IPv4: 主機IP
disk: 主機硬盤大小
memory: 主機內(nèi)存大小
name: 主機別名

"""
from collections import namedtuple

#云主機管理系統(tǒng)菜單欄提示
from prettytable import PrettyTable

prompt = """


***************云主機管理系統(tǒng) ***************  
******************************************     
        1). 添加云主機
        2). 刪除云主機
        3). 修改云主機
        4). 查看云主機
        0). 退出系統(tǒng)

用戶請選擇操作:         
******************************************

"""

#1). 選擇那種數(shù)據(jù)類型存儲云主機信息? str, tuple, list, 選擇列表
hosts_db = []   # 存儲所有主機信息的數(shù)據(jù)庫列表
id = 0          # 云主機的id號, 是依次遞增的
#通過命名元組定義主機需要存儲的信息
Host = namedtuple('Host', ['id', 'IPv4', 'disk', 'memory', 'name'])

#2). 死循環(huán),接收用戶選擇
while True:
    choice = input(prompt)
    #如果用戶選擇為1, 則添加云主機
    if choice == '1':
        print("添加云主機".center(40, '*'))
        id += 1     # id遞增
        IPv4 = input('主機IP(eg:172.25.254.197)>> ')
        disk = input('主機硬盤大小(eg: 500G)>> ')
        memory = input('主機內(nèi)存大小(eg: 4G)>> ')
        name = input('主機別名(eg: 數(shù)據(jù)庫服務(wù)器)>> ')
        #將主機信息實例化為Host對象, 并添加到主機信息的數(shù)據(jù)庫列表中
        hosts_db.append(Host(id=id, IPv4=IPv4, disk=disk, memory=memory, name=name))
        #顯示添加成功的信息
        print("添加主機%s成功" %(name))
    elif choice == '2':
        print("刪除云主機".center(40, '*'))
        delete_id = int(input('要刪除主機的id(eg:1)>> '))
        for host in hosts_db:
            if host.id == delete_id:
                hosts_db.remove(host)
                print("刪除id=%s的云主機成功" %(delete_id))
                break
        else:
            print("沒有找到id=%s的云主機,刪除失敗" %(delete_id))
    elif choice == '3':
        #如果我們的目標(biāo)是定義一個高效的數(shù)據(jù)結(jié)構(gòu),而且將來會修改各種實例屬性,那么使用 namedtuple 并不是最佳選擇
        #修改云主機暫時不處理
        pass
    elif choice == '4':
        print("查看云主機".center(40, '*'))
        #創(chuàng)建表并指定表頭信息和格式
        hosts_table = PrettyTable(field_names=['Id', "IPv4", 'Disk', 'Memory', 'Name'])
        ##遍歷主機信息
        for host in hosts_db:
            # 按行添加數(shù)據(jù)
            hosts_table.add_row(host)
        #打印表格
        print(hosts_table)
    elif choice == '0':
        exit(0)
    else:
        print("請輸入正確的選項")

拓展_prettyTable

#PrettyTable 是python中的一個第三方庫,可用來生成美觀的ASCII格式的表格:
from prettytable import PrettyTable
#要顯示的主機信息

db = [
    [1, '1.1.1.1', '500G', '4G', 'Mariadb Server'],
    [2, '1.1.1.2', '200G', '8G', 'Web Server'],
]
#創(chuàng)建表并指定表頭信息和格式
hosts_table = PrettyTable(field_names=['Id',"IPv4", 'Disk', 'Memory', 'Name'])
#遍歷主機信息
for host in db:
    #按行添加數(shù)據(jù)
    hosts_table.add_row(host)
#打印表格
print(hosts_table)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站名稱:python學(xué)習(xí)之列表和元組-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://chinadenli.net/article36/descpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航品牌網(wǎng)站設(shè)計、全網(wǎng)營銷推廣關(guān)鍵詞優(yōu)化、網(wǎng)站收錄面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化