一、列表
列表表示一組有序的元素,這些元素可以是數(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
|