# 條件,條件成立返回值,不成立返回值
deffunc
(x,y)
:if x > y:
return x
else
:return y
func(1,
2)# 等同於三元表示式
# 條件成立就返回左邊的值,不成立就是右邊的值
x =1
y =2
res = x if x > y else y
print
(res)
2def
func
(x,y)
: res = x if x > y else y
return res
res = func(1,
5)print
(res)
# 列表生成式
list1 =
['sun_dsb'
,'egon_dsb'
,'howard'
]list2 =
for name in list1:
if name.endswith(
'dsb'):
print
(list2)
# 簡化
list1 =
['sun_dsb'
,'egon_dsb'
,'howard'
] list2 =
[name for name in list1 if name.endswith(
'dsb')]
# 條件只能為真,不能有else
print
(list2)
# 快速生成字典
keys =
['name'
,'age'
,'hobby'
]dict
=print
(dict
)items =[(
'name'
,'sun'),
('age',18
),('hobby'
,'football')]
dic =
print
(dic)
lis =
['age'
,'sun'
,'hobby'
]dic =
print
(dic)
# 沒有元組生成式
# 第一種方式
with
open
(r'biji.txt'
,mode=
'rt'
,encoding=
'utf-8'
)as f:
res =
0for line in f:
res +=
len(line)
print
(res)z
# 第二種方式
with
open
(r'biji.txt'
,mode=
'rt'
,encoding=
'utf-8'
)as f:
res =
sum(
len(line)
for line in f)
print
(res)
# 將所有字元變為大寫
# 將列表裡的'dsb'刪掉1.
list1 =
['sun_dsb'
,'egon_dsb'
,'howard'
]list2 =
[name.replace(
'_dsb',''
)for name in list1]
print
(list2)2.
list1 =
['sun_dsb'
,'egon_dsb'
,'howard'
]list2 =
[name.upper(
)for name in list1]
print
(list2)
三元表示式,生成式,生成器表示式
使用函式來寫 defmax2 x,y if x y return x else return y res max2 3,4 print res 4?使用三元表示式 x 3 y 4 res x if x y else y print res 3,4 4 函式加三元表示式 defmax2 x,y ret...
三元表示式 生成式 匿名函式
def max2 x,y if x y return x else return y res max2 10,20 x 10 y 20 res x if x y else y print res res ok if false else no print res 1 列表生成式 l for i in...
列表生成式與三元表示式
三元表示式與列表生成式可簡寫 三元表示式 age 19 條件滿足取前面,不滿足取後面 p 成年人 if age 18 else 未成年人 print p 列表生成式 表示式 for 變數 in 列表 if 條件 out exp res for out exp in input list if con...