日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

python -- 結(jié)構(gòu)數(shù)據(jù)類(lèi)型(列表、元組、集合、字典)

 印度阿三17 2019-07-18

一、列表

列表表示一組有序的元素,這些元素可以是數(shù)字、字符串,也可以是另一個(gè)列表。

# ----------------------------------------
# 列表(list):一組有序的元素
# ----------------------------------------
# 定義一個(gè)空的列表
s = []
# 定義一個(gè)全是數(shù)字的成績(jī)列表
score = [90, 92, 88, 79, 95, 82]

# 可以通過(guò)索引值來(lái)訪問(wèn)列表中的元素,從左到右,起始值為0,最后一個(gè)元素為n-1
first_one = score[0]
# 也可以從右到左通過(guò)一個(gè)負(fù)數(shù)索引值進(jìn)行訪問(wèn),倒數(shù)第一個(gè)元素為-1,最后一個(gè)元素為-n
last_one = score[-1]

# 修改元素的值
score[-1] = 80
print(score)

# 列表中的元素可以是不同的數(shù)據(jù)類(lèi)型
student_info = ['1001', '張曉曉', '女', 12, [86, 88, 92]]
# 使用切片打印學(xué)生基本信息
print("學(xué)生基本信息:", student_info[1:4])

# 將運(yùn)算符兩側(cè)的列表組合在一起
grade = ['七年級(jí)']
student_info = grade student_info
print(student_info)

# 同理也可以用 =
student_info = ['廣東省', '廣州市']
print(student_info)

# append() 在列表尾部追加新的元素(一次只能追加一個(gè)元素)
student_info.append('番禺區(qū)')
print(student_info)

# extend() 在列表尾部追加另一個(gè)列表(追加的不是列表,而是列表中的元素)
address = ['南村鎮(zhèn)', '東環(huán)街']
student_info.extend(address)
print(student_info)

# insert(x, y) 向列表中的x位置插入數(shù)據(jù)y
student_info.insert(-1, "同樂(lè)路") #由于東環(huán)街是-1,對(duì)應(yīng)同樂(lè)路,則不是添加到末尾
student_info.insert(len(student_info), "同樂(lè)路") #把同樂(lè)路加入到末尾
print(student_info)

# * 將列表中的元素重復(fù)n次,并且拼接成一個(gè)列表
scores = [90, 100] * 5
print(scores)

# 使用in和not in判斷某個(gè)元素是否存在于列表中
print("100 in scores:", 100 in scores)
print("100 not in scores:", 100 not in scores)

# len() 返回列表的長(zhǎng)度
score = [90, 92, 88, 79, 95, 90, 82]
print("score列表中有%d個(gè)元素" % len(score))

# max() 返回列表元素中的最大值(元素的數(shù)據(jù)類(lèi)型必須一致,否則會(huì)出錯(cuò))
print("最高分是:", max(score))
# min() 返回列表元素中的最小值
print("最低分為:", min(score))
# sum() 返回列表中所有元素的和
print("總分:", sum(score))

# count(x) 統(tǒng)計(jì)列表中相同元素值x出現(xiàn)的次數(shù)
print("90分有%d個(gè)" % score.count(90))

# sort() 將列表中的元素進(jìn)行排序,默認(rèn)為升序(需要是統(tǒng)一的單一數(shù)據(jù)類(lèi)型)
score.sort()
print("升序排列:", score)
score.sort(reverse=True)
print("降序排列:", score)

# index(x) 獲得指定元素x第一次在列表中的位置(索引值)
index = score.index(90)
print("90分的排名為:", index 1)

# pop(index) 刪除列表中索引值為index的元素,默認(rèn)刪除最后一個(gè)元素
score.pop()
print("刪除一個(gè)最低分:", score)

# reverse() 將列表中的元素顛倒排列
score.reverse()
print("將列表中的元素進(jìn)行顛倒:", score)

# remove(value) 將列表中元素值為value的項(xiàng)刪除,一次只刪除一個(gè)元素
score.remove(90)
print("刪除90分:", score)

# clear() 清空列表
score.clear()
print(score)

score = [90, 92, 88, 79, 95, 90, 82]
# del 刪除指定位置的元素,并且可以使用切片的方式進(jìn)行刪除
del score[2]
print(score)
del score[0:3]
print(score)
del score
print(score)


二、元組
元組也是一組有序的元素,一旦定義,就不能更改了。

# ----------------------------------------
# 元組(tuple):一組有序的元素。定義后元素不可修改
# ----------------------------------------
# 創(chuàng)建只有一個(gè)元素元組,必須在元素之后加上逗號(hào)
# t = ()
# one = (100)
only_one = (100,)

# 對(duì)元組進(jìn)行拼接,生成一個(gè)新的元組
info1 = '1001', '張曉曉'
info2 = ('女', '初一')
print("info1 info2:", info1 info2)

# * 重復(fù)多次
print("info1*3:", info1 * 3)

# 使用in和not in判斷某個(gè)元素是否存在于元組中
print("張曉曉 in info1:", '張曉曉' in info1)
print("張曉曉 not in info1:", '張曉曉' not in info1)

student_info = ('1001', '張曉曉', '女', '初一', 12, '廣州')
# len() 返回元組的長(zhǎng)度(元組中元素的個(gè)數(shù))
print("元組的長(zhǎng)度:", len(student_info))
# 同樣可以通過(guò)索引和切片的方式訪問(wèn)元組
print(student_info[1:])

tuple1 = (88, 93, 76, 90)
# max() 返回元組中元素的最大值(元組中的數(shù)據(jù)類(lèi)型必須一致)
print("最大值為:", max(tuple1))
# min() 返回元組中元素的最小值(數(shù)據(jù)類(lèi)型必須一致)
print("最小值為:", min(tuple1))

# 將列表轉(zhuǎn)換為元組
list2 = [100, 200, 300, 200, 400]
tuple2 = tuple(list2)
print("將列表轉(zhuǎn)換為元組:", tuple2)

# sum() 返回元組中所有元素的和
print("總計(jì):", sum(tuple2))

# count() 統(tǒng)計(jì)指定元素在元組中出現(xiàn)的次數(shù)
print("200出現(xiàn)的次數(shù):", tuple2.count(200))

# index() 返回指定元素第一次在元組中出現(xiàn)的索引值
print("200第一次出現(xiàn)的位置:", tuple2.index(200))

# 將元組轉(zhuǎn)換為列表
list3 = list(student_info)
print("將元組轉(zhuǎn)換為列表:", list3)

# 元組中的元素值不允許刪除,只能使用del語(yǔ)句刪除整個(gè)元組
del student_info

三、集合
集合是一個(gè)無(wú)序的不重復(fù)的元素序列

# ----------------------------------------
# 集合(set):一個(gè)無(wú)序的不重復(fù)元素序列
# ----------------------------------------
# 創(chuàng)建一個(gè)空集合,必須使用set(),不能使用{}
set1 = set()

# 集合會(huì)自動(dòng)去掉重復(fù)數(shù)據(jù)
cities = {'北京', '上海', '廣州', '深圳', '海南', '廣州'}
print(cities)

# 可以先創(chuàng)建一個(gè)列表,然后使用set函數(shù)將列表轉(zhuǎn)化為集合
list2 = [100, 200, 300, 400, 300]
set2 = set(list2)
print(set2)

# 通過(guò)一個(gè)字符串來(lái)創(chuàng)建字符集合
set3 = set("Hello")
print(set3)

# 使用in和not in判斷某個(gè)元素是否存在于集合中
print("200 in set2:", 200 in set2)
print("00 not in set2:", 200 not in set2)

a = {100, 200, 300}
b = {300, 400}
# a-b:差集(返回一個(gè)新的集合,包含a中有但b中沒(méi)有的元素)
print("a-b:", a - b)
print(a.difference(b))

# a|b:并集(返回一個(gè)新的集合,包含a和b中的每一個(gè)元素)
print("a|b:", a | b)
print(a.union(b))

# a&b: 交集(返回一個(gè)新的集合,包含a和b中的公共元素)
print("a&b:", a & b)
print(a.intersection(b))

# a^b: 對(duì)稱(chēng)差集(返回一個(gè)新的集合,包含沒(méi)有同時(shí)出現(xiàn)在a和b中的元素)
print("a^b:", a ^ b)
print(a.symmetric_difference(b))

# add() 往集合中添加一個(gè)元素
a.add(400)
print("add:", a)
# update() 更新集合中的元素??梢酝现刑砑訂蝹€(gè)元素、列表、元組等
a.update([500, 600])
print("update:", a)

# a<=b:判斷a是否是b的子集(檢查a中的每一個(gè)元素是否都在b中)
print("a是b的子集:", a <= b)
# a>=b: 判斷a是否是b的父集(檢查b中的每一個(gè)元素是否都在a中)
print("a是b的父集:", a >= b)

# remove(x) 將元素x從集合中移除,如果元素不存在會(huì)報(bào)錯(cuò)
a.remove(600)
print("remove result:", a)

# discard(x) 也是將元素x從集合中移除,當(dāng)元素不存在時(shí)不會(huì)報(bào)錯(cuò)
a.discard(500)
print("discard:", a)

# pop() 隨機(jī)刪除集合中的一個(gè)元素
a.pop()
print("pop:", a)

# len() 計(jì)算集合中元素的個(gè)數(shù)
print("集合中的元素個(gè)數(shù):", len(a))

# clear() 清空集合
a.clear()


四、字典

字典是一種可變?nèi)萜髂P?,可以存?chǔ)任意類(lèi)型的對(duì)象,由鍵-值對(duì)組成。
# ----------------------------------------------------------
# 字典(dict):一種可變?nèi)萜髂P停梢源鎯?chǔ)任意類(lèi)型的對(duì)象。由鍵-值對(duì)組成
# ----------------------------------------------------------
# 鍵必須是唯一且不可改變的
dic = {1: '一季度', '2': '二季度'}
# 不能通過(guò)索引訪問(wèn),只能通過(guò)鍵進(jìn)行訪問(wèn)
print(dic['2'])

dic = {1: '一季度', '2': '二季度', '2': '三季度'}
print(dic)

dic['2'] = '二季度' # 修改元素的值
dic['3'] = '三季度' # 增加新的鍵值對(duì)
print(dic)

del dic['3'] # 刪除字典中的元素
print(dic)

# len() 計(jì)算字典元素的個(gè)數(shù),即鍵值的總數(shù)
print("字典長(zhǎng)度為:", len(dic))

# str() 將字典的元素轉(zhuǎn)化為可打印的字符串形式
print(str(dic))

# copy() 復(fù)制字典(淺拷貝)
dic1 = dic.copy()
print("dic1:", dic1)

# clear() 清除字典中的所有元素
dic.clear()
print("dic:", dic)

dic3 = {'一季度': 10000, '二季度': 12000, '三季度': 18000}
# get(key[, value]) 返回指定鍵的值。如果指定的鍵不存在,返回value
print("一季度的銷(xiāo)量為:", dic3.get('一季度'))
print("四季度的銷(xiāo)量為:", dic3.get('四季度'))
print("四季度的銷(xiāo)量為:", dic3.get('四季度', '未統(tǒng)計(jì)'))

# setdefault(k[, v]) 如果k存在,就返回其值;否則返回v,并將新的元素添加到字典中
print(dic3.setdefault('一季度'))
print(dic3.setdefault('四季度', 17000))

# 使用in和not in檢測(cè)鍵(key)是否存在于字典中
print("一季度存在于字典中:", '一季度' in dic3)
print("四季度不存在于字典中:", '四季度' not in dic3)

# items() 使用字典中的元素創(chuàng)建一個(gè)由元組對(duì)象組成的列表(一個(gè)元組對(duì)應(yīng)一個(gè)鍵-值對(duì))
print(dic3.items())

# keys() 使用字典中的鍵創(chuàng)建一個(gè)列表
print(dic3.keys())

# values() 使用字典中的值創(chuàng)建一個(gè)列表
print(dic3.values())

# dic1.update(dic2) 將字典dic2的鍵/值對(duì)更新到dic1中
dic4 = {'一月份': 3500, '二月份': 3800}
dic3.update(dic4)
print(dic3)

# pop() 刪除字典中指定key對(duì)應(yīng)的值,并且返回被刪除的值
print(dic3.pop('一月份'))

# popitem() 刪除字典中的最后一元素,并返回這個(gè)元素的鍵值
print(dic3.popitem())
來(lái)源:https://www./content-1-339051.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多