Python學習【第4篇】:元組魔法

來源:互聯網
上載者:User

標籤:替換   布爾值   原因   之間   items   次數   一個   返回   因此   

tu = (111,"xiaoxing",(11,22),[(33,44)],45,)
#1.書寫格式
#一般寫元組的時候推薦在最後加入逗號,
#元組中的一級元素不可被修改,不能增加或者刪除
print(tu)

#2.索引取值
v1 = tu[0]

#3.切片取值
v2 = tu[0:3]
print(v1)
print(v2)

三個運行結果:

(111, ‘xiaoxing‘, (11, 22), [(33, 44)], 45)
111
(111, ‘xiaoxing‘, (11, 22))

#4.可被for 迴圈,可迭代對象
for item in tu:
print(item)
運行結果:

111
xiaoxing
(11, 22)
[(33, 44)]
45

 

 

 

#5.字串,列表,元組相互之間轉換
s = "xiaoxingasdf"
li = ["asdf","qwer"]
tu = ("xiao","xing")
#(1).字串轉元組
v1 = tuple(s)
print(v1)
運行結果:
(‘x‘, ‘i‘, ‘a‘, ‘o‘, ‘x‘, ‘i‘, ‘n‘, ‘g‘, ‘a‘, ‘s‘, ‘d‘, ‘f‘)

#(2).列錶轉元組
v2 = tuple(li)
print(v2)
運行結果:
(‘asdf‘, ‘qwer‘)

#(3).元組轉列表
v3 = list(tu)
print(v3)
運行結果:
[‘xiao‘, ‘xing‘]


tu = (111,"xiaoxing",(11,22),[(33,44)],45,)
#元組,有序,元組一級元素不可被修改
v = tu[3][0][0]
print(v)
運行結果33

tu[3][0] = 567
#這裡能夠被修改的原因是tu[3][0],取到的值是[(33,44)]一個列表,因此列表可被修改
print(tu)
運行結果中[(33,44)]被替換成了[567]
(111, ‘xiaoxing‘, (11, 22), [567], 45)

tu[3][0][0] = 567
#這裡如果這樣書寫會報錯,原因是tu[3][0][0]取到的是(33,44)元組中的元素,因元組不可被修改,因此會報錯
tu = (11,"xiaoxing",(11,22),[(22,44)],11,)
#統計在元組中出現的次數
v1 = tu.count(11)
print(v1)
運行結果:
2

v2 = tu.index(11)
#查看索引值
print(v2)
運行結果:
0

##############################字典###########################
#1.基本結構
#info = {
      "k1":"v1",#索引值對
      "k2":"v2"
}
#2.列表,字典不能作為字典的key,字典中的vaule可以是任意值
#布爾值是可以作為key值的,但是key值如果存在重複,只保留一個
info = {
1:‘asdf‘,
"k1":"asdf",
True:"123",
(11,22):123,

}
print(info)
運行結果:
{1: ‘123‘, ‘k1‘: ‘asdf‘, (11, 22): 123}

#4.字典是無序的,可以通過多次運行字典,看到輸出的順序不一致

#5.字典的索引取值
info = {
"K1":18,
"K2":True,
"K3":[
11,
[],
(),
22,
33,
{
‘KK1‘:‘VV1‘,
‘KK2‘:‘VV2‘,
‘KK3‘:(11,22),
}
],
‘K4‘:(11,22,33,44)
}
v = info["K1"]
print(v)
運行結果:
18

v1 = info["K3"][5][‘KK3‘][0]
#在這裡取的是11
print(v1)
運行結果:
11

#6.刪除字典中的元素
info = {
"K1":18,
"K2":True,
"K3":[
11,
[],
(),
22,
33,
{
‘KK1‘:‘VV1‘,
‘KK2‘:‘VV2‘,
‘KK3‘:(11,22),
}
],
‘K4‘:(11,22,33,44)
}
del info["K1"]
print(info)
運行結果:
{‘K2‘: True, ‘K3‘: [11, [], (), 22, 33, {‘KK1‘: ‘VV1‘, ‘KK2‘: ‘VV2‘, ‘KK3‘: (11, 22)}], ‘K4‘: (11, 22, 33, 44)}

#刪除KK1
del info["K3"][5]["KK1"]
print(info)
運行結果:
{‘K1‘: 18, ‘K2‘: True, ‘K3‘: [11, [], (), 22, 33, {‘KK2‘: ‘VV2‘, ‘KK3‘: (11, 22)}], ‘K4‘: (11, 22, 33, 44)}
#擷取key
for item in info.keys():
print(item)
運行結果:

K1
K2
K3
K4

#7.擷取vaule

for item1 in info.values():
print(item1)
運行結果:

18
True
[11, [], (), 22, 33, {‘KK1‘: ‘VV1‘, ‘KK2‘: ‘VV2‘, ‘KK3‘: (11, 22)}]
(11, 22, 33, 44)

 

#8.同時擷取key和vaule

for item in info.keys():
print(item,info[item])
運行結果:

K1 18
K2 True
K3 [11, [], (), 22, 33, {‘KK1‘: ‘VV1‘, ‘KK2‘: ‘VV2‘, ‘KK3‘: (11, 22)}]
K4 (11, 22, 33, 44)

 

#還有種方法

for k,v  in info.items():
print(k,v)
運行結果和上面一致




#布爾值是可以作為key值的,但是key值如果存在重複,只保留一個
info = {
"K1":18,
"K1":True,
"K3":[
11,
[],
(),
22,
33,
{
‘KK1‘:‘VV1‘,
‘KK2‘:‘VV2‘,
‘KK3‘:(11,22),
}
],
‘K4‘:(11,22,33,44)
}
運行結果:
{‘K1‘: True, ‘K3‘: [11, [], (), 22, 33, {‘KK1‘: ‘VV1‘, ‘KK2‘: ‘VV2‘, ‘KK3‘: (11, 22)}], ‘K4‘: (11, 22, 33, 44)}

v = dict.fromkeys(["k1",123,"999"],123)
#1.根據序列,建立字典,並指定統一的值
print(v)
運行結果:
{‘k1‘: 123, 123: 123, ‘999‘: 123}

#2.根據key值擷取vaule,若不存在時可以指定預設值,不指定時返回none
dic = {
‘k1‘:‘v1‘,
}
v = dic.get(‘k1‘,111)
print(v)
運行結果:
v1
dic = {
‘k1‘:‘v1‘,
‘k2‘:‘v2‘
}
v = dic.pop(‘k1‘)
#3.刪除並擷取值

v1 = dic.popitem()
#隨機刪除
print(v1)

print(dic,v)
運行結果:

{‘k2‘: ‘v2‘} v1

(‘k2‘, ‘v2‘)

#4.設定值,若已存在,不設定,擷取當前key對應的值
#不存在,設定,並擷取當前key對應的值
v1 = dic.setdefault(‘k1‘,‘1234‘)
v2 = dic.setdefault(‘kk1‘,"1234")
print(v1,dic)
print(v2,dic)
運行結果:

v1 {‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘, ‘kk1‘: ‘1234‘}
1234 {‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘, ‘kk1‘: ‘1234‘}

 

#5.update調用的兩種方式
dic.update({"k1":‘520‘,‘k3‘:‘521‘})
print(dic)
運行結果:
{‘k1‘: ‘520‘, ‘k2‘: ‘v2‘, ‘k3‘: ‘521‘}

dic.update(k1=123,k3=234,k4=456)
print(dic)
運行結果:

{‘k1‘: 123, ‘k2‘: ‘v2‘, ‘k3‘: 234, ‘k4‘: 456}

 

字典中特別重要的有6. keys()  7.vaules()  8.items()  get   update

 

看到了day12 第10

 

 







Python學習【第4篇】:元組魔法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.