python3 列表(List),元组(Tuple),集合(Set),字典(Dictionary)

# Python 集合(数组)
# Python 编程语言中有四种集合数据类型:
# 列表(List)是一种有序和可更改的集合。允许重复的成员。
# 元组(Tuple)是一种有序且不可更改的集合。允许重复的成员。
# 集合(Set)是一个无序和无索引的集合。没有重复的成员。
# 字典(Dictionary)是一个无序,可变和有索引的集合。没有重复的成员。

# 列表(List):
# 列表的正向索引,第一个索引是 0,第二个索引是 1,依此类推。
# 列表的反向索引,最后一个是索引-1,倒数第二个索引是-2,依此类推。
# 列表方法:
# Python 有一组可以在列表上使用的内建方法。
# 方法	        描述
# append()	    在列表的末尾添加一个元素
# clear()	    删除列表中的所有元素
# copy()	    返回列表的副本
# count()	    返回具有指定值的元素数量。
# extend()	    将列表元素(或任何可迭代的元素)添加到当前列表的末尾
# index()	    返回具有指定值的第一个元素的索引
# insert()	    在指定位置添加元素
# pop()	        删除指定位置的元素
# remove()	    删除具有指定值的项目
# reverse()	    颠倒列表的顺序
# sort()	    对列表进行排序

list1 = ["apple", "banana", "cherry"]
list2 = [1990, 2020, 2200]
print(list1)    #['apple', 'banana', 'cherry']
print(list2)    #[1990, 2020, 2200]

# 列表拼接
list3 = list1 + list2
print(list3)    #['apple', 'banana', 'cherry', 1990, 2020, 2200]

# 列表重复 
list4 = list1 * 3 + list2 * 3
print(list4)    #['apple', 'banana', 'cherry', 'apple', 'banana', 'cherry', 'apple', 'banana', 'cherry', 1990, 2020, 2200, 1990, 2020, 2200, 1990, 2020, 2200]

# 删除指定元素
del list4[1]    
print(list4)    #['apple', 'cherry', 'apple', 'banana', 'cherry', 'apple', 'banana', 'cherry', 1990, 2020, 2200, 1990, 2020, 2200, 1990, 2020, 2200]

# 元素截取
print(list4[3:-3])  #['banana', 'cherry', 'apple', 'banana', 'cherry', 1990, 2020, 2200, 1990, 2020, 2200]

# 列表尾添加一个元素
list1.append(12)
print(list1)    #['apple', 'banana', 'cherry', 12]


# 复制列表
list11 = list1.copy()
print(list1)    #['apple', 'banana', 'cherry', 12]
print(list11)   #['apple', 'banana', 'cherry', 12]

# 清空列表元素
list11.clear()
print(list1)    #['apple', 'banana', 'cherry', 12]
print(list11)   #[]

print(list2)    #[1990, 2020, 2200]
# 将指定的列表元素(或任何可迭代的元素)添加到当前列表的末尾。
list2.extend(list1)
print(list2)    #[1990, 2020, 2200, 'apple', 'banana', 'cherry', 12]

# 返回具有指定值的元素数量。
print(list4.count('apple')) #3

# 返回具有指定值的第一个元素的索引
print(list4.index(2020))    #9

# 在指定位置插入一个元素
list1.insert(2, 'name')
print(list1)    #['apple', 'banana', 'name', 'cherry', 12]

# 删除并返回指定位置的元素
print(list1.pop(-1))    #12
print(list1)     #['apple', 'banana', 'name', 'cherry']

# 删除具有指定值的项目
list1.remove('apple')
print(list1)    #['banana', 'name', 'cherry']

# 颠倒列表的顺序
list1.reverse()
print(list1)    #['cherry', 'name', 'banana']

# 列表排序
list1.sort()
print(list1)    #['banana', 'cherry', 'name']

# 列表长度
print(len(list4)) #17

listn = [1,2,3,4,5,6,7,8,9,0]
print(listn)    #[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

# 重新排序
listn.sort()
print(listn)    #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# 列表最小元素
print(min(listn))#0

# 列表最大元素
print(max(listn))#9




# 元组(Tuple):
# Python 的元组与列表类似,不同之处在于元组的元素不能修改,但多个元组可以合并。
# 元组使用小括号 ( ),列表使用方括号 [ ]。
# 元组与字符串类似,下标索引从 0 开始,可以进行截取,组合等。
# 元组的正向索引,第一个索引是 0,第二个索引是 1,依此类推。
# 元组的反向索引,最后一个是索引-1,倒数第二个索引是-2,依此类推。
tup1 = ("one", "two", "three", "four", "five")
tup2 = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
tup3 = "A", "B", "C", "D" #没有小括号也可以
tup0 = (100,) # 当元组只有一个元素是后面需要加"," 不加","为int型
print(tup1)     #('one', 'two', 'three', 'four', 'five')
print(tup2)     #(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
print(tup3)     #('A', 'B', 'C', 'D')
print(tup0)     #(100,)
print(tup1[2])  #three
print(tup1[-1]) #five
print(tup1[:-3])#('one', 'two')

# 合并元组
tup12 = tup1 + tup2
print(tup12)    #('one', 'two', 'three', 'four', 'five', 0, 1, 2, 3, 4, 5, 6, 7, 8, 9)



# 集合(Set):
# 集合(set)是一个无序的不重复元素序列。
# 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
# 创建格式:
# parame = {value01,value02,...}  or set(value)
# Set 方法
# Python 拥有一套能够在集合(set)上使用的内建方法。
# 方法	                        描述
# add()	                        向集合添加元素。
# clear()	                    删除集合中的所有元素。
# copy()	                    返回集合的副本。
# difference()	                返回包含两个或更多集合之间差异的集合。
# difference_update()	        删除此集合中也包含在另一个指定集合中的项目。
# discard()	                    删除指定项目。
# intersection()	            返回为两个其他集合的交集的集合。
# intersection_update()	        删除此集合中不存在于其他指定集合中的项目。
# isdisjoint()	                返回两个集合是否有交集。
# issubset()	                返回另一个集合是否包含此集合。
# issuperset()	                返回此集合是否包含另一个集合。
# pop()	                        从集合中删除一个元素。
# remove()	                    删除指定元素。
# symmetric_difference()	    返回具有两组集合的对称差集的集合。
# symmetric_difference_update()	插入此集合和另一个集合的对称差集。
# union()	                    返回包含集合并集的集合。
# update()	                    用此集合和其他集合的并集来更新集合。

# 创建空集合
set0 = set()
# 创建集合
set1 = {
    
    's1', 's2', 's5', 's4', 's3'}
set2 = {
    
    9, 4, 3, 2}

print(set0) #set()
print(set1) #{'s3', 's5', 's4', 's1', 's2'}
print(set2) #{9, 2, 3, 4}
print(len(set1))


set1.update(set2)
print(set1) #{'s2', 2, 3, 4, 9, 's3', 's5', 's4', 's1'}

set0.add('hello')
set0.add('world')
print(set0)

# discard()方法 删除集合指定元素
if 's2' in set1:
    set1.discard('s2') 
print(set1) #{2, 3, 4, 's5', 9, 's3', 's4', 's1'}

# remove()方法 删除集合指定元素
if 's1' in set1:
    set1.remove('s1')
    pass
print(set1) #{'s5', 2, 3, 4, 9, 's3', 's4'}

# pop 放法删除并返回最后一项元素值
print(set1.pop())   #s4
print(set1) #{2, 3, 4, 's5', 9, 's3'}

# 返回包含两个或更多集合之间差异的集合。
print(set1.difference(set2)) #{'s3', 's5'}

# 两个集合之间的运算
# 集合a中包含而集合b中不包含的元素
print(set1 - set0)  #{2, 3, 4, 's4', 's3', 9}
# 集合a或b中包含的所有元素
print(set1 | set0)  #{2, 3, 's4', 's3', 4, 'world', 9, 'hello'}
# 集合a和b中都包含了的元素
print(set1 & set0)  #set()
# 不同时包含于a和b的元素
print(set1 ^ set0)  #{3, 'world', 4, 's5', 9, 's4', 's3', 'hello'}



# 字典(Dictionary):
# 字典是另一种可变容器模型,且可存储任意类型对象。
# 字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:
# d = {key1 : value1, key2 : value2, key3 : value3 }

# Python 提供一组可以在字典上使用的内建方法。
# 方法	                描述
# clear()	            删除字典中的所有元素
# copy()	            返回字典的副本
# fromkeys()	        返回拥有指定键和值的字典
# get()	                返回指定键的值
# items()	            返回包含每个键值对的元组的列表
# keys()	            返回包含字典键的列表
# pop()	                删除拥有指定键的元素
# popitem()	            删除最后插入的键值对
# setdefault()	        返回指定键的值。如果该键不存在,则插入具有指定值的键。
# update()	            使用指定的键值对字典进行更新
# values()	            返回字典中所有值的列表

# 创建空字典
dict0={
    
    }
print(type(dict0))

dict1 = {
    
    'name':'Jim', 'age':22, 'address':'kingstress No.70'}
print(dict1) #{'name': 'Jim', 'age': 22, 'address': 'kingstress No.70'}

# 输出指定键的值
print("name:", dict1['name'])   #name: Jim
print("age:", dict1['age'])     #age: 22

# 更新指定键的值
dict1['age'] = 33
print("new age:", dict1['age'])     #new age: 33

# 字典的嵌套
pn = {
    
    'ps1':{
    
    'name':'Jim', 'age':12}, 'ps2':{
    
    'name':'Xiaohui', 'age':21}, 'ps3':{
    
    'name':'Liming', 'age':32}}
print(pn)   #{'ps1': {'name': 'Jim', 'age': 12}, 'ps2': {'name': 'Xiaohui', 'age': 21}, 'ps3': {'name': 'Liming', 'age': 32}}
print(pn['ps1'])            #{'name': 'Jim', 'age': 12}
print(pn['ps2'].get('name'))#Xiaohui
print(pn['ps2']['age'])     #21

p1 = {
    
    'name':'Amy', 'age':29}
p2 = {
    
    'name':'Neko', 'age':18}
p3 = {
    
    'name':'John', 'age':55}
ps = {
    
    'p1':p1, 'p2':p2, 'p3':p3}
print(ps)
print(ps.get('p1'))             #{'name': 'Amy', 'age': 29}
print(ps.get('p1').get('name')) #Amy
print(ps.get('p1')['age'])      #29

# 返回包含每个键值对的元组的列表
print(ps.items())   #dict_items([('p1', {'name': 'Amy', 'age': 29}), ('p2', {'name': 'Neko', 'age': 18}), ('p3', {'name': 'John', 'age': 55})])

# 返回指定字典的所有键名
print(dict1.keys()) #dict_keys(['name', 'age', 'address'])

# 返回指定字典的所有值
print(dict1.values()) #dict_values(['Jim', 33, 'kingstress No.70'])

猜你喜欢

转载自blog.csdn.net/u013420428/article/details/112280237