一、列表
列表表示一組有序的元素,這些元素可以是數(shù)字、字符串,也可以是另一個(gè)列表。
# ----------------------------------------
# 列表(list):一組有序的元素
# ----------------------------------------
# 定義一個(gè)空的列表
s = []
# 定義一個(gè)全是數(shù)字的成績列表
score = [90, 92, 88, 79, 95, 82]
# 可以通過索引值來訪問列表中的元素,從左到右,起始值為0,最后一個(gè)元素為n-1
first_one = score[0]
# 也可以從右到左通過一個(gè)負(fù)數(shù)索引值進(jìn)行訪問,倒數(shù)第一個(gè)元素為-1,最后一個(gè)元素為-n
last_one = score[-1]
# 修改元素的值
score[-1] = 80
print(score)
# 列表中的元素可以是不同的數(shù)據(jù)類型
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, "同樂路") #由于東環(huán)街是-1,對(duì)應(yīng)同樂路,則不是添加到末尾
student_info.insert(len(student_info), "同樂路") #把同樂路加入到末尾
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() 返回列表的長度
score = [90, 92, 88, 79, 95, 90, 82]
print("score列表中有%d個(gè)元素" % len(score))
# max() 返回列表元素中的最大值(元素的數(shù)據(jù)類型必須一致,否則會(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ù)類型)
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() 返回元組的長度(元組中元素的個(gè)數(shù))
print("元組的長度:", len(student_info))
# 同樣可以通過索引和切片的方式訪問元組
print(student_info[1:])
tuple1 = (88, 93, 76, 90)
# max() 返回元組中元素的最大值(元組中的數(shù)據(jù)類型必須一致)
print("最大值為:", max(tuple1))
# min() 返回元組中元素的最小值(數(shù)據(jù)類型必須一致)
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語句刪除整個(gè)元組
del student_info
三、集合
集合是一個(gè)無序的不重復(fù)的元素序列
# ----------------------------------------
# 集合(set):一個(gè)無序的不重復(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)
# 通過一個(gè)字符串來創(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中沒有的元素)
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ì)稱差集(返回一個(gè)新的集合,包含沒有同時(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ǔ)任意類型的對(duì)象,由鍵-值對(duì)組成。
# ----------------------------------------------------------來源:https://www.icode9.com/content-1-339051.html
# 字典(dict):一種可變?nèi)萜髂P?,可以存?chǔ)任意類型的對(duì)象。由鍵-值對(duì)組成
# ----------------------------------------------------------
# 鍵必須是唯一且不可改變的
dic = {1: '一季度', '2': '二季度'}
# 不能通過索引訪問,只能通過鍵進(jì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("字典長度為:", 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("一季度的銷量為:", dic3.get('一季度'))
print("四季度的銷量為:", dic3.get('四季度'))
print("四季度的銷量為:", dic3.get('四季度', '未統(tǒng)計(jì)'))
# setdefault(k[, v]) 如果k存在,就返回其值;否則返回v,并將新的元素添加到字典中
print(dic3.setdefault('一季度'))
print(dic3.setdefault('四季度', 17000))
# 使用in和not in檢測鍵(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())
聯(lián)系客服