python--总结之列表_元组_集合_字典

列表_元组_集合_字典_增

'''
列表:
    append(ele):在最后边添加一个元素
    extend(list):在最后边添加一个列表
    insert(index,ele):在指定位置处添加一个元素
集合:
    add(ele):由于它无序不重复,在随机位置添加一个元素
    update(tuple):在集合中添加一个元组,最终形成一个集合
元组:
    只读
字典:
    dict1['key']=value
'''
# 1、列表
print('---------------列表 添加----------------')
names=['Jack',123,'lucy']
#append在原列表后面添加一个元素
names.append('杨幂')
print(names)
#extend在原列表后面添加一个列表
girls=['佟丽娅','热巴']
names.extend(girls)
print(names)
#insert在指定位置处插入一个
names.insert(3,'chs')
print(names)
'''
---------------列表 添加----------------
['Jack', 123, 'lucy', '杨幂']
['Jack', 123, 'lucy', '杨幂', '佟丽娅', '热巴']
['Jack', 123, 'lucy', 'chs', '杨幂', '佟丽娅', '热巴']
'''
# 2、集合
print('---------------集合 添加----------------')
names={'Jack',123,'lucy'}
#add在原集合后面添加一个元素
names.add('杨幂')#无序去重,输出的顺序与添加的顺序不一致
names.add('杨幂')
print(names)
#update在原集合后面添加一个【元组】
girls=('佟丽娅','热巴')
names.update(girls)
print(names)
'''
---------------集合 添加----------------
{'lucy', '杨幂', 123, 'Jack'}
{'Jack', '佟丽娅', '热巴', 123, 'lucy', '杨幂'}
'''
# 3、元组---元组无法增删改
print('---------------元组 添加----------------')
names=('Jack',123,'lucy')

# 4、字典
print('---------------字典 添加----------------')
dict1={'brand': 'huawei'}
#根据key添加值
dict1['type']='p30 pro'
dict1['price']='9000'
print(dict1)
'''
---------------字典 添加----------------
{'brand': 'huawei', 'type': 'p30 pro', 'price': '9000'}
'''

列表_元组_集合_字典_删

'''
列表:
    del list1[index]:删除指定下标的元素
集合:
    remove('ele'):元素存在则删除,不存在则报错
    discard('ele'):类似remove() 但是在移除不存在元素时不报错
    pop():删除第一个元素
    clear():清空所有
元组:
    只读
字典:
    del dict1['key']:没有则报错
    pop('key'):删除这个键值对并返回对应的value
    popitem():随机删除字典中的键值对(一般是从末尾删除元素),并返回该键值对
    clear():清空字典里的元素
'''
# 1、列表
print('---------------列表 删除----------------')
names=['Jack',123,'lucy','杨幂']
#del 删除指定下标元素
del names[1]
print(names)
#注意del在循环中使用的时候,经常会出现bug,因为你删掉了一些,但循环次数
#却仍是一开始就确定了,因此我们需要边删边修改循环次数--则不能用for循环
words=['hello','goods','gooo','world','digot','alpha']
w='go'
i=0
l=len(words)
while i<l:
    if w in words[i]:
        del words[i]
        l-=1
        #保证删除后下一个元素仍是本身即可
        # i-=1
        continue
    i+=1
print(words)
# ['hello', 'world', 'alpha']

'''
---------------列表 删除----------------
['Jack', 'lucy', '杨幂']
['hello', 'world', 'alpha']
'''


# 2、集合
print('---------------集合 删除----------------')
names={'Jack',123,'lucy',4444}
#add在原集合后面添加一个元素
names.remove(123)
print(names)
names.discard('444')
print(names)
names.pop()
print(names)

'''
---------------集合 删除----------------
{4444, 'lucy', 'Jack'}
{4444, 'lucy', 'Jack'}
{'lucy', 'Jack'}
'''

# 3、元组---元组无法增删改
print('---------------元组 删除----------------')
names=('Jack',123,'lucy')

# 4、字典
print('---------------字典 删除----------------')
dict1={'张三':100,'李四':100,'王五':89,'赵柳':99}
#del dict['key']
del dict1['王五']
print(dict1)#{'张三': 100, '李四': 100, '赵柳': 99}
#del dict1['haha']  没有则报错

#字典的删除内置函数
#pop
result=dict1.pop('李四') #删除这个键值对并返回对应的value
print(result)#100
print(dict1)#{'张三': 100, '赵柳': 99}
#popitem():随机删除字典中的键值对(一般是从末尾删除元素)
dict1={'张三':100,'李四':100,'王五':89,'赵柳':99}
result=dict1.popitem()
print(result)#('赵柳', 99)
print(dict1)#{'张三': 100, '李四': 100, '王五': 89}

#clear() 清空字典里的元素
print(dict1.clear())#None
'''
---------------字典 删除----------------
{'张三': 100, '李四': 100, '赵柳': 99}
100
{'张三': 100, '赵柳': 99}
('赵柳', 99)
{'张三': 100, '李四': 100, '王五': 89}
None
'''

列表_元组_集合_字典_改

'''
列表:
    list1[0]=newVal:根据下标修改
集合:
    它没有修改功能,查询也不能查出某一个【下标、切片】
    一般只能增删,以及差集、交集、并集、对称差集
    差集:-/difference()
    交集:&/intersection()
    并集:|/union()
    对称差集:(|)-(&)/^
        #对称差集方式一
        result=(s1|s2)-(s1&s2)#两人全部有的-两人共同有的==两人各自有的
        print(result)#{0, 1, 3, 7}
        #对称差集方式二
        print(s1^s2)#{0, 1, 3, 7}
元组:
    只读
字典:
    dict1['key']=newValue
'''
# 1、列表
print('---------------列表 修改----------------')
names=['Jack',123,'lucy']
#根据下标修改
names[2]='杨幂'
print(names)
#列表循环修改,不可取,原因是我们修改的是name而并不是names本身
# print('--------列表循环修改----------')
# for name in names:
#     # print(name)
#     if name==123:
#         name='杨桃'
# print(names)
#range循环修改
print('--------range循环修改----------')
for i in range(len(names)):
    if names[i]==123:
        names[i]='羊逃'
print(names)
'''
---------------列表 修改----------------
['Jack', 123, '杨幂']
--------range循环修改----------
['Jack', '羊逃', '杨幂']
'''

# 2、集合
print('---------------集合 修改----------------')
#一般只做增删,以及交集、并集、差集和对称差集
#差集:
# 1-
# 2difference()
set2={1,4,5,7,9,11}
set3={1,4,5,7,9,11,0}
set5=set3-set2# 差集
print(set5)#{0}
set5=set2-set3
print(set5)#set()空集合
set6={1,2,3,4,5}
set7={1,2}
print(set6.difference(set7))#{3, 4, 5}
'''
{0}
set()
{3, 4, 5}
'''



# 3、元组---元组无法增删改
print('---------------元组 修改----------------')
names=('Jack',123,'lucy')

# 4、字典
print('---------------字典 修改----------------')
dict1={'brand': 'huawei','type':'p30 pro'}
#根据key添加值
dict1['type']='P40 Plus'
print(dict1)
'''
---------------字典 修改----------------
{'brand': 'huawei', 'type': 'P40 Plus'}
'''

列表_元组_集合_字典_查

'''
符号:
    list列表[3,4]  tuple元组(3,4) set集合{3,4} dict字典{'name': 'lucky', 'age': 18}
操作:
    列表、集合、字典都是可读写
    元组类似列表,但是只可读
初始化空:
    除集合只有一种方式set()外,其他都可以是list()/{}的方式
    因为空集合与空字典都是长这样{},只是字典有内容时是键值对
初始化非空:
    元组只有一个元素时,后面必须加逗号,其他均可不用
读:
    列表,元组可用一致【下标|切片|for循环|】
    集合只能【for循环】,不能下标|切片
    字典只能【根据键取值|for循环--items,values,keys】,不能下标|切片
增删改:
    列表、字典可增删改
    集合特殊:增删,交集、差集、并集、对称差集
    元组特殊:只读,不可增删改
有序性:
    集合、字典是无序的
重复性:
    集合不重复,会自动去重
    字典的键不能重复


'''
#1、初始化为空
list1=[]
list2=list()
list3=[3]
list4=[3,4]
print(type(list1),type(list2),type(list3),type(list4))
print('-'*20)

tuple1=()
tuple2=tuple()
tuple3=(3,)#元组只有一个元素必须加逗号,否则不是元组
tuple4=(3,4)
print(type(tuple1),type(tuple2),type(tuple3),type(tuple4))
print('-'*20)

set1=set()#只有唯一的方式,因为如果{}会被误认为是字典
set2={3}
set3={3,4}
print(type(set1),type(set2),type(set3))
print('-'*20)

dict1={}
dict2=dict()
dict3={"a":"aa"}
dict4={"a":"aa","b":"bb"}
print(type(dict1),type(dict2),type(dict3),type(dict4))
print('-'*20)
'''
<class 'list'> <class 'list'> <class 'list'> <class 'list'>
--------------------
<class 'tuple'> <class 'tuple'> <class 'tuple'> <class 'tuple'>
--------------------
<class 'set'> <class 'set'> <class 'set'>
--------------------
<class 'dict'> <class 'dict'> <class 'dict'> <class 'dict'>
--------------------
'''

#2、列表|元组|集合|字典|--tuple只读,即只能查

#2-1、列表
print('---------------列表 查询----------------')
names=['Jack',123,'lucy','superman','ironman']
#下标获取元素
print('第三个元素:',names[2])
print('最后一个元素:',names[-1])
#列表切片,切完仍是一个子列表
print('----切片----')
print(names[1:-1])
#循环获取元素,按照下标依次遍历序列中每一个元素
print('----循环遍历----')
for name in names:
    print(name)

'''
---------------列表 查询----------------
第三个元素: lucy
最后一个元素: ironman
----切片----
[123, 'lucy', 'superman']
循环遍历:
Jack
123
lucy
superman
ironman

'''
#2-2、元组--与列表类似,但只可读
print('---------------元组 查询----------------')
names=('Jack',123,'lucy','superman','ironman')
#下标获取元素
print('第三个元素:',names[2])
print('最后一个元素:',names[-1])
#列表切片,切完仍是一个子列表
print('----切片----')
print(names[1:-1])
#循环获取元素,按照下标依次遍历序列中每一个元素
print('----循环遍历----')
for name in names:
    print(name)

'''
---------------元组 查询----------------
第三个元素: lucy
最后一个元素: ironman
----切片----
(123, 'lucy', 'superman')
----循环遍历----
Jack
123
lucy
superman
ironman

'''



#2-3、集合
print('---------------集合 查询----------------')
s1= {1,2,3,3,3}
print(s1)#自动去重
#一般只做增删,以及交集、并集、差集和对称差集
#不能通过下标/切片取元素
# print(s1[0])
# print(s1[0:-1])
#循环获取元素,按照下标依次遍历序列中每一个元素
print('----循环遍历----')
for i in s1:
    print(i,end='\t')
'''
---------------集合 查询----------------
{1, 2, 3}
----循环遍历----
1	2	3
'''

#2-4、字典--键值对
print("")
print('---------------字典 查询----------------')
dict3={'ID':'937781164764','name':'lucky','age':18}
#下标获取元素不可取,只能说根据键获取值
# print('第三个元素:',dict3[2])
print('取name对应值:',dict3['name'])
print('取age对应值:',dict3.get('name'))

#不能切片
# print('----切片----')
# print(dict3[1:-1])
#循环获取元素,按照下标依次遍历序列中每一个元素
print('----循环遍历----')#遍历的是键
for name in dict3:
    print(name)
#字典里的函数:
#items() 将字典的键值对保存为【列表】的保存形式{key:val,key:val}---[(key,val),(key,val)]
# values() 取出字典中所有值存放到【列表】中-----------------------[val,val,val]
# keys()   取出字典中所有key存放到【列表】中-----------------------[key,key,key]
print('key:',dict3.keys())
for key in dict3.keys():
    print(key)

print('vaule:',dict3.values())
for value in dict3.values():
    print(value)

a,b=('张三', 100)#拆包
print(a,b)#张三 100

print('key&value:',dict3.items())
for key,value in dict3.items():#每一个item元素都是(key,val)形式
        print(key,value)

'''
---------------字典 查询----------------
取name对应值: lucky
取age对应值: lucky
----循环遍历----
ID
name
age
key: dict_keys(['ID', 'name', 'age'])
ID
name
age
vaule: dict_values(['937781164764', 'lucky', 18])
937781164764
lucky
18
张三 100
key&value: dict_items([('ID', '937781164764'), ('name', 'lucky'), ('age', 18)])
ID 937781164764
name lucky
age 18
'''
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值