python多重赋值技巧_python教程12课:多元赋值、多重赋值、运算符以及判断字符串类型...
# 多元賦值:
# x,y,z 和 1,2,‘String'是兩個(gè)元組,只不過元組的 () 被省略掉了
x, y ,z = 1, 2, 'String'
print(x, y, z)
(x, y ,z) = (3, 4, 'String')
print(x,y,z)
# 一般用在交換變量值
#交換變量值常規(guī)思路
x =10,
y =20
z =30
x ,y, z = y,z,x
print(x,y,z)
#使用多元賦值直接交換
x,y = y,x
print(x,y)
# 不能使用一個(gè)數(shù)值型
# x,y,z = 10
# 多元賦值的時(shí)候,元素個(gè)數(shù)要對(duì)應(yīng),不能多也不能
x,y,z = 'aaa','bbb','ccc'
print(x, y ,z)
################## 如果后面值是字符串,會(huì)自動(dòng)轉(zhuǎn)換成元組,字符串的長(zhǎng)度需要和前面變量的個(gè)數(shù)一樣
x,y,z = 'Str'
print(x,y,z)
# 等效于上面直接使用字符串
str = 'str'
tup = tuple(str)
print(tup)
x,y,z = tup
print(x,y,z)
##########################################使用字典
x,y,z = {'a':'aa','b':'bb','c':'cc'}
print('使用字典直接賦值',x,y,z)
# 等效于上面直接使用字典賦值
dict = {'a':'aa','b':'bb','c':'cc'}
tup = tuple(dict)
print('將字典轉(zhuǎn)換之后的元組:',tup)
x,y,z = tup
print('使用字典轉(zhuǎn)換后賦值:',x,y,z)
########################################使用 集合list
x,y,z = [1,2,3]
print('使用集合直接賦值:',x,y,z)
list = [1,2,3]
tup = tuple(list)
print('list轉(zhuǎn)換后的元組:',tup)
x,y,z = tup
print('使用list轉(zhuǎn)換之后賦值:',x,y,z)
# 多重賦值
#類似深度復(fù)制,a, b, c 是同一個(gè)對(duì)象,內(nèi)存地址一樣
a = b = c = 10
print(id(a),id(b),id(c))
print(a is b, b is c, a is c)
# 運(yùn)算符
# + - * / % ** //
x = 5
y = 3
a = 4
b = 2
c = 2.4
print(x + y)
print(x - y)
print(x * y)
# 如果是除法,返回帶小數(shù)點(diǎn)的浮點(diǎn)數(shù)
print(x / y)
# 取余數(shù),比如 20 % 3 余數(shù)就是2,如果對(duì) 1取余結(jié)果為0,表示是整數(shù)
print(x % y)
print(c%1)
# 次方,表示x 的 y次數(shù)
print(x ** y)
# x / y 以后結(jié)果向下取整,也就是如果有小數(shù),直接去掉小數(shù)點(diǎn)后面
print(x // y)
# 所有 a = a + b 等效于 a += b
# 上面的 + 可以換成 -、*、\、%、**、
a = 4
b = 2
a = a + b
print('======',a)
a = 4
a += b
print('======',a)
# 下面兩種次方 等效
a = a**b
a**=b
print(a)
# 字符串的判斷
str1 = '123'
str2 = 'Abc'
str3 = '123Abc'
#字符串判斷是否全部是數(shù)字 isdigit,如果全部為數(shù)字返回True,否則返回False
print(str1.isdigit())
print(str2.isdigit())
print(str3.isdigit())
# 字符串判斷是否全部是字符串,issalpha(),如果全是是字符串返回True,否則返回False
print(str1.isalpha())
print(str2.isalpha())
print(str3.isalpha())
# 如果判斷是字符串和數(shù)字的組合,兩者并集取反
print(not str1.isdigit() and not str1.isalpha())
print(not str2.isdigit() and not str2.isalpha())
print(not str3.isdigit() and not str3.isalpha())
#判斷集合元素類型練習(xí)
列表 li=[1,’2’,’ab’,3,’as21’,4,’5b’,’6’,’568’,’10q’]將所有數(shù)字類型的元素,保存在字典第一 個(gè) key中,將所有全部由數(shù)字組成的字符串類型的元素保存在字典的第二個(gè) key中,剩 下的所有保存在字典的第三個(gè) key中。 如 dic={key1:數(shù)字類型的值;key2:全部由數(shù)字組成的字符串元素;key3:剩下的其他元素}
li=[1,'2','ab',3,'as21',4,'5b','6','568','10q']
list1 =[] # 全是數(shù)字集合
list2 =[] # 字符串集合
list3 =[] #字符串和數(shù)字混合
for x in li:
try:
x.isdigit()
except AttributeError:
list1.append(x)
li.remove(x)
li2 = li.copy()
print('=====',li2)
for x in range(len(li)):
try:
if li[x].isdigit():
list2.append(li2[x])
else:
list3.append(li2[x])
except AttributeError:
pass
print(list1, list2, list3)
dic={'key1':list1 ,'key2':list2,'key3':list3}
print(dic)
總結(jié)
以上是生活随笔為你收集整理的python多重赋值技巧_python教程12课:多元赋值、多重赋值、运算符以及判断字符串类型...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网飞新剧《天选之子》剧组出车祸:两名演员
- 下一篇: 105万巨幕在天上飞!三星国内首台110