python一个键多个值 以及列表,元组,集合,字典辨析

2023-12-14 23:31:45

a={1:[1,2]}
c,b=a[1]
print(c,b,type(c))  #1 2 <class 'int'>
c=a[1]
print(c,type(c))  #[1, 2] <class 'list'>
a={1:(1,2)}
c,b=a[1]
print(c,b,type(c))  #1 2 <class 'int'>
c=a[1]
print(c,type(c))  #(1, 2) <class 'tuple'>
a={1:{1,2}}
c,b=a[1]
print(c,b,type(c))  #1 2 <class 'int'>
c=a[1]
print(c,type(c))  #{1, 2} <class 'set'>

注:str 也是不可变的,不可以增删改

如:s='hello'    s=s+'world'   会导致id(s) 发生变化
而:lst.append(300)????? id?? 不变?

? ? ? 都可以for来遍历

?列表:sort倒序为true? ?可以变化更改? ,可以排序? ?

Lst=list(['hello','word',98,98])
print(Lst[0],Lst.index(98)) #hello 2

Lst=[10,20,30,40,50,60,70,80]
Lst1=Lst[-1:6:-1]  #start  stop  step  -1就是最后一个,倒序
print(Lst1)  #[80]

Lst=[10,20,30,40,50,60,70,80] 
Lst1=Lst[1:6:2]   #[20, 40, 60]

Lst.append(100)   #[10, 20, 30, 40, 50, 60, 70, 80, 100]
Lst.extend(Lst1)  #[10, 20, 30, 40, 50, 60, 70, 80, 100, 20, 40, 60]
Lst[1:3]=[]       #[10, 40, 50, 60, 70, 80, 100, 20, 40, 60]
Lst.sort(reverse=True) #[100, 80, 70, 60, 60, 50, 40, 40, 20, 10]
New_lst=sorted(Lst,reverse=True)
Lst.sort(reverse=False) #[10, 20, 40, 40, 50, 60, 60, 70, 80, 100]
Lst.append(Lst1)  #[10, 20, 40, 40, 50, 60, 60, 70, 80, 100, [20, 40, 60]]
Lst.insert(1,90)  #[10, 90, 20, 40, 40, 50, 60, 60, 70, 80, 100, [20, 40, 60]]
Lst.remove(70)     #把70去了
Lst.pop(1)           #把第二个数去了



Lst=[i*i  for i in range(1,10)]
Lst.clear() #清空值
del Lst   #删除列表

字典:可以变化更改,不可排序,键不可重复

d=dict(name='jack',age=20) #{'age': 20, 'name': 'jack'}
d1={'age':20}
d['name']
d.get('name')
d2=d1.get('name','jack') #'jack' 
d.keys()   #dict_keys(['name', 'age'])
d.values() #dict_values(['jack', 20])
d.items()  #dict_items([('name', 'jack'), ('age', 20)])
for c in d:
    print(c)  #name  age

Items=['fruits','books','others']
Price=[98,22,11,25]
d2={item.upper():prise  for item, prise in zip(Items,Price)}  #元素少的做标准
#{'BOOKS': 22, 'FRUITS': 98, 'OTHERS': 11}
d3 = {name for name,score in d2.items() if score >= 90} #生成式
print(d3) #{'FRUITS'}

元组:

t=()
t=tuple()
t2=('python','world',98)
t3=(1,)
print(t[1])  #world
 

集合:

快成八股文了,不写了,等我用上集合这东西了再补充,没见用过。

没隔多久就用上了,我回来补充了。。。

s=set()
s={}  #空字典
s={10,20,30} 
s.add(80)          #{10, 20, 30, 80}          
s.update({100,200})#{10, 20, 30, 80, 100, 200}
s.update([100,200])#{10, 20, 30, 80, 100, 200} 没变化
#所以upgrate 更新的元素是唯一的,无所谓集合还是数组,都无法重复
s.remove(100)
s.discard(100000) #不会报错,其他和remove一样
s.pop()  #随机移除一个数,无参

文章来源:https://blog.csdn.net/qq_72985002/article/details/135004042
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。