日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

set dict tuple 内置方法

發布時間:2025/4/14 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 set dict tuple 内置方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今日內容

* 元祖及內置方法
* 字典及內置方法
* 集合及內置方法
* 字符編碼

元祖tuple

與列表類似可以存多個值,但是不同的是元祖本身不能被修改

```python
一:基本使用:tuple
1 用途:記錄多個值,當多個值沒有改的需求,此時用元組更合適

2 定義方式:在()內用逗號分隔開多個任意類型的值
t=(1,1.3,'xx',('a','b'),[1,2]) t=tuple((1,1.3,'xx',('a','b'),[1,2]))
print(t,type(t))
t1=tuple('hello')
print(t1)

3 常用操作+內置的方法
優先掌握的操作:
1、按索引取值(正向取+反向取):只能取
t=('egon',123,['a','b'])
print(id(t[0]))1
print(id(t[1]))
print(id(t[2]))

t[2][0]='A'
print('='*50)
print(id(t[0]))
print(id(t[1]))
print(id(t[2]))
t[0]='EGON'

t[2]='xxxx'
t[2][0]='A'
print(t)

2、切片(顧頭不顧尾,步長)
t=(1,2,3,4,5)
print(t[0:3])
print(t)

3、長度

4、成員運算in和not in

5、循環
for item in ('a','b','c'):
print(item)

需要掌握的操作
t=('a','b','c','a')
print(t.count('a'))
print(t.index('a',1,10))
print(t.index('xxx',1,10))

二:該類型總結
1 存多個值
2 有序
3 不可變
```

字典dict

```python
6b 不可變類型=》可hash類型
可變類型 =》不可以hash類型

一:基本使用dict
1 用途:記錄多個值,每一個值都對應的key用來描述value的作用

2 定義方式:在{}內用逗號分隔開多 個key:value,其中value可以是任意類型,而key必須是不可變的類型,通常情況下應該str類型
dic={0:'aaa',1:'bbb',2:'cccc'} dic=dict({0:'aaa',1:'bbb',2:'cccc'})
print(dic,type(dic))
print(dic[0])

dic={[1,2]:'aaa'}
dic={(1,2):'aaa'}
print(dic[(1,2)])

用法一:
dic=dict(x=1,y=2,z=3)
print(dic)

用法二:
userinfo=[
['name','egon'],
['age',18],
['sex','male']
]
d={}
for k,v in userinfo: k,v=['name', 'egon']
print(k,v)
d[k]=v
print(d)

d=dict(userinfo)
print(d)

3 常用操作+內置的方法
優先掌握的操作:
1、按key存取值:可存可取
dic={'name':'egon'}
print(dic['name'])
dic['name']='EGON'
print(dic)
dic['age']=18
print(dic)

2、長度len
dic={'name':'egon','age':18,'name':'EGON','name':'XXXX'}
print(dic)
print(len(dic))

3、成員運算in和not in:字典的成員運算判斷的是key
dic={'name':'egon','age':18,}
print(18 in dic)
print('age' in dic)

4、刪除
dic={'name':'egon','age':18,}
通用
del dic['name']
print(dic)
del dic['xxx'] key不存在則報錯


res=dic.pop('age') 刪除key對應的value,并返回value
print(dic)
print(res)
dic.pop('xxx') key不存在則報錯

res=dic.popitem()
print(dic)
print(res)

5、鍵keys(),值values(),鍵值對items() 注意python2與python3之間的區別
dic={'name':'egon','age':18,}
print(dic.keys())
l=[]
for k in dic.keys():
l.append(k)
print(l)
print(list(dic.keys()))
print(dic.values())
print(list(dic.values()))
print(dic.items())
print(list(dic.items()))



6、循環
dic={'name':'egon','age':18,'sex':'male'}

for k in dic.keys():
print(k,dic[k])

for k in dic:
print(k,dic[k])

for v in dic.values():
print(v)

for k,v in dic.items():
print(k,v)

8 dic.get()
dic={'name':'egon','age':18,'sex':'male'}
dic['xxx']
v=dic.get('name')
print(v)

v=dic.get('xxx')
print(v)

需要掌握的操作

dic.fromkeys()的用法:
l=['name','age','sex']
dic={'name':None,'age':None,'sex':None}
dic={}
for k in l:
dic[k]=None
print(dic)

dic=dic.fromkeys(l,None)
print(dic)



old_dic={'name':'egon','age':18,'sex':'male'}
new_dic={'name':'EGON','x':1,'y':2}
old_dic.update(new_dic)
print(old_dic)

setdefault:有則不動/返回原值,無則添加/返回新值
dic={'name':'egon','age':18}
res=dic.setdefault('name','EGON') 字典中已經存在key則不修改,返回已經存在的key對應的value
print(dic)
print(res)

res=dic.setdefault('sex','male') 字典不存在key則添加"sex":"male",返回新的value
print(dic)
print(res)


二:該類型總結
1 存多個值

2 無序

3 可變
dic={'x':1}
print(id(dic))
dic['x']=2
print(id(dic))


練習1:
nums=[11,22,33,44,55,66,77,88,99,90]
dic={
'k1':[],
'k2':[]
}
for num in nums:
if num > 66:
dic['k1'].append(num)
else:
dic['k2'].append(num)
print(dic)

練習2:
s='hello alex alex say hello sb sb'
words=s.split()
dic={}
print(words)
for word in words:
if word in dic:
dic[word]+=1
else:
dic[word]=1
print(dic)

s='hello alex alex say hello sb sb'
words=s.split()
dic={}
for word in words: word="hello"
dic.setdefault(word,words.count(word)) {'hello':2,"alex":2,"say":1,}
print(dic)
```

集合set

```python
pythons=['李二丫','張金蛋','李銀彈','趙銅蛋','張錫蛋','alex','oldboy']
linuxs=['lxx','egon','張金蛋','張錫蛋','alex','陳獨秀']

l=[]
for stu in pythons:
if stu in linuxs:
l.append(stu)
print(l)


一:基本使用:set
1 用途: 關系運算,去重

2 定義方式: 在{}內用逗號分開個的多個值
集合的三大特性:
2.1 每一個值都必須是不可變類型
2.2 元素不能重復
2.3 集合內元素無序

s={1,3.1,'aa',(1,23),} s=set({1,3.1,'aa',(1,23),})
print(s,type(s))

s={1,1,1,1,1,1,1,1,1,2,3}
print(s)

s={'a','b','c'}
s[0]

s=set('hello')
print(s)
print(set(['a','b','c',[1,2]]))

3 常用操作+內置的方法
pythons={'李二丫','張金蛋','李銀彈','趙銅蛋','張錫蛋','alex','oldboy'}
linuxs={'lxx','egon','張金蛋','張錫蛋','alex','陳獨秀'}
取及報名python課程又報名linux課程的學員:交集
print(pythons & linuxs)
print(pythons.intersection(linuxs))

取所有報名老男孩課程的學員:并集
print(pythons | linuxs)
print(pythons.union(linuxs))

取只報名python課程的學員: 差集
print(pythons - linuxs)
print(pythons.difference(linuxs))

取只報名linux課程的學員: 差集
print(linuxs - pythons)
print(linuxs.difference(pythons))

取沒有同時報名兩門課程的學員:對稱差集
print(pythons ^ linuxs)
print(pythons.symmetric_difference(linuxs))

是否相等
s1={1,2,3}
s2={3,1,2}
print(s1 == s2)

父集:一個集合是包含另外一個集合
s1={1,2,3}
s2={1,2}
print(s1 >= s2)
print(s1.issuperset(s2))

s1={1,2,3}
s2={1,2,4}
print(s1 >= s2)

子集
s1={1,2,3}
s2={1,2}
print(s2 <= s1)
print(s2.issubset(s1))

需要掌握操作
s1={1,2,3}
s1.update({3,4,5})
print(s1)

s1={1,2,3}
res=s1.pop()
print(res)

s1={1,2,3}
res=s1.remove(3) 單純的刪除,返回值為None
print(s1)

s1={1,2,3}
s1.add(4)
print(s1)

s1={1,2,3}
s2={1,2}
s1.difference_update(s2) s1=s1.difference(s2)
print(s1)

s1={1,2,3}
res=s1.discard(3) 單純的刪除,返回值為None
print(s1)
print(res)
s1.remove(444444) 刪除的元素不存在則報錯
s1.discard(444444) 刪除的元素不存在不會報錯


s1={1,2,3}
s2={1,2,4}
print(s1.isdisjoint(s2)) 如果兩個集合沒有交集則返回True

s1={1,2,3}
s2={4,5,6}
print(s1.isdisjoint(s2)) 如果兩個集合沒有交集則返回True

二:該類型總結
1 存多個值

2 無序

3 set可變
s={1,2,3}
print(id(s))
s.add(4)
print(id(s))

集合去重
局限性
1、無法保證原數據類型的順序
2、當某一個數據中包含的多個值全部為不可變的類型時才能用集合去重
names=['alex','egon','alex','alex','egon','lxx']
s=set(names)
print(s)
l=list(s)
print(l)

stus_info=[
{'name':'egon','age':18},
{'name':'alex','age':73},
{'name':'oldboy','age':84},
{'name': 'egon', 'age': 18},
{'name': 'egon', 'age': 18},
{'name': 'egon', 'age': 18},
{'name': 'oldboy', 'age': 84},

]
set(stus_info) 報錯
l=[]
for info in stus_info:
if info not in l:
l.append(info)

print(l)
stus_info=l
print(stus_info)
```



username=input().strip(?
if username == 'jason':

print('goood job')
print(username)
print(username.rstrip('df'))
a=username.split('a',4)
print(a)

leetcode 初探 兩數之和 多種解法:


class Solution(object):
def addTwoNumbers(self, l1, l2):
"""
:type l1: ListNode
:type l2: ListNode``
:rtype: ListNode
"""

cur_1 = l1
cur_2 = l2
int_num1 = 0
int_num2 = 0
count_1 = 0
count_2 = 0
int_sum_of_two_linklist = 0
while cur_1 is not None or cur_2 is not None:
if cur_1 is not None:
int_num1 = 10 ** count_1 * cur_1.val + int_num1
count_1 += 1
cur_1 = cur_1.next
if cur_2 is not None:
int_num2 = 10 ** count_2 * cur_2.val + int_num2
count_2 += 1
cur_2 = cur_2.next
int_sum_of_two_linklist = int_num1 + int_num2
print(int_sum_of_two_linklist)
游標指向鏈表l1的頭
pre = l1
cur = l1
while int_sum_of_two_linklist != 0:
if pre is not None:
pre.val = int_sum_of_two_linklist % 10
print(cur.val)
cur = pre
pre = pre.next
else:
node = ListNode(int_sum_of_two_linklist % 10)
print(node.val)
print(node.next)
cur.next = node
cur = cur.next
int_sum_of_two_linklist = int_sum_of_two_linklist / 10
return l1
class Solution:
def addTwoNumbers(self, l1, l2):
n1=[]
n2=[]
lv1=l1.val
lv2=l2.val
n1.append(l1.val)
n2.append(l2.val)
while l1.next and l2.next:
n1.append(l1.val)
n2.append(l2.val)
l1=l1.next
l2=l2.next

else:
while l1.next !=None:
n1.append(l1.val)
l1=l1.next

while l2.next !=None:
n2.append(l2.val)
l2=l2.next
n1=n1[::-1]
n2=n2[::-1]
class Solution:
def addTwoNumbers(self, l1, l2):
n1 = []
n2 = []
nl = []

while l1.next and l2.next:
n1.append(l1.val)
n2.append(l2.val)
l1 = l1.next
l2 = l2.next


while l1.next != None:
n1.append(l1.val)
l1 = l1.next
while l2.next != None:

n2.append(l2.val)
l2 = l2.next
if l1.next==0 and l2.next==0:
n1.append(l1.val)
n2.append(l2.val)
n1 = n1[::-1]
n2 = n2[::-1]
res1 = 0
res2 = 0
number1 = len(n1)
number2 = len(n2)
for i in n1:
if number1 >= 0:
res1 += i * 10 ** (len(n1) - number1)
number1 += -1
for i in n2:
if number2 >= 0:
res2 += i * 10 ** (len(n2) - number2)
number2 += -1

print(res1)
print(res2)

res3 = list(str(res1 + res2))
res3 = res3[::-1]
for i in res3:
nl.append(int(i))

return

2.簡單購物車,要求如下:
實現打印商品詳細信息,用戶輸入商品名和購買個數,則將商品名,價格,購買個數加入購物列表,如果輸入為空或其他非法輸入則要求用戶重新輸入  
msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
小提示:打印的時候即需要拿到字典的key也需要拿到對應的value
key_name = input('請輸入要購買的商品名稱')
key_name_number = input('請輸入要購買的個數')
while (key_name not in msg_dic ) or key_name ==0 :

print('輸入內容錯誤 ,請重新輸入')
key_name=input('請輸入要購買的商品名稱')
key_name_number=input('請輸入要購買的個數')
value=msg_dic[key_name]*key_name_number
print(key_name,key_name_number,'num value=%s'%value)


3.統計s='hello alex alex say hello sb sb'中每個單詞的個數

s='hello alex alex say hello sb sb sb sbsbsbbs sb,sb , '

s=s.split()
結果如:{'hello': 2, 'alex': 2, 'say': 1, 'sb': 2}
d1 = {}

for i in s:
if i in d1:
d1[i] += 1
else:
d1[i] = 1

print(d1)
4.關系運算
  有如下兩個集合,pythons是報名python課程的學員名字集合,linuxs是報名linux課程的學員名字集合
pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
linuxs={'wupeiqi','oldboy','gangdan'}
  1. 求出即報名python又報名linux課程的學員名字集合
  2. 求出所有報名的學生名字集合
  3. 求出只報名python課程的學員名字
  4. 求出沒有同時這兩門課程的學員名字集合
double=set(pythons and linuxs)
print(double)
all=set(pythons | linuxs)
print(all)
op=set(pythons-linuxs)
print(op)
no=set.difference(pythons,linuxs)
print(no)


5. 對列表
l=['a','b',1,'a','a'] x`內的元素完成去重得到新列表.
拔高:如果想去重并且想保持列表原來的順序該如何做?
l1=[]
for i in l :
if i not in l1:
l1.append(i)
print(l1)


6.對如下列表中的元素去重(),得到新列表,且新列表一定要保持列表原來的順序
l=[
{'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'},
]
l1=[]
for i in l :
if i not in l1:
l1.append(i)
print(l1)

轉載于:https://www.cnblogs.com/Sunbreaker/p/11135129.html

總結

以上是生活随笔為你收集整理的set dict tuple 内置方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日日夜夜人人 | 亚洲熟妇一区二区三区 | 成人欧美一区二区三区黑人动态图 | 91精品专区| 婷婷在线看| 日本激情视频 | 国语对白清晰刺激对白 | 亚洲熟妇无码一区二区三区 | 免费毛片大全 | 日本午夜影院 | 99在线免费观看视频 | 福利色导航 | 日本黄色性视频 | 日本美女视频网站 | 欧美性天堂 | 国产真实交换夫妇视频 | 国产午夜成人久久无码一区二区 | 免费看大片a | 91黑人精品一区二区三区 | 国产页| av黄在线观看 | 欧美日韩午夜爽爽 | 岛国裸体写真hd在线 | 黄色成人在线观看 | 5个黑人躁我一个视频 | 亚洲乱码国产乱码精品精的特点 | 欧美性生活一区二区三区 | 性生交大片免费看视频 | 色偷偷888欧美精品久久久 | 99这里有精品| 国语对白做受欧美 | 国产精品久久久久一区二区 | 伊人婷婷综合 | 日本欧美黄色 | 超碰中文字幕在线 | 亚洲色图插插插 | 欧美日韩一区二区在线观看 | 九色精品视频 | 在线观看福利网站 | 亚洲国产剧情在线观看 | 色小说在线观看 | 国产一区二区在线免费观看视频 | 午夜不卡av | 性盈盈影院中文字幕 | 欧美乱轮视频 | 天天狠天天透 | 四虎一国产精品一区二区影院 | 欧美手机在线视频 | 三级福利| 亚洲一区视频在线播放 | 精品一区二区在线播放 | 三日本三级少妇三级99 | 男操女视频在线观看 | av福利在线 | av中文在线资源 | 在线国产三级 | 精品国产一区二区三区在线观看 | 亚洲成人精品在线播放 | 国产卡一卡二卡三 | 97人人模人人爽人人少妇 | 在线免费观看黄色网址 | 来吧亚洲综合网 | 中文字幕乱码中文乱码777 | 99ri精品| 久久久激情网 | 视频1区| 男女爱爱网站 | 亚洲 国产 日韩 欧美 | 超碰在线小说 | 91视频合集 | 欧美爱爱网址 | ,亚洲人成毛片在线播放 | 国产黄 | 欧美巨大荫蒂茸毛毛人妖 | 五月天激情国产综合婷婷婷 | 亚洲第一色网 | 精品亚洲国产成av人片传媒 | 男女av网站| 亚洲av无码久久精品狠狠爱浪潮 | www.日日干| 天堂影视av | 黄色在线免费 | 国产超级av | 国产日韩欧美久久 | av丝袜在线| 在线观看国产精品入口男同 | 永久视频在线 | 五月天校园春色 | 乱子伦一区 | 性xxxx另类xxⅹ | 中文字幕av有码 | 中文字幕 亚洲一区 | 日本九九热 | 99在线免费观看视频 | 丝袜人妻一区二区 | 久久九九久精品国产免费直播 | 欧美资源在线观看 | 成人av在线一区二区 | 四虎影院一区二区 |