1. 程式人生 > >python:序列的遍歷和推導式

python:序列的遍歷和推導式

字串的遍歷:

for str in "abcdefghijklmnopqrstuvwxyz":
    print(str,end="")
# >>>abcdefghijklmnopqrstuvwxyz

列表的遍歷及推導式:

1. 列表的遍歷:

①:

for data in [1,2,3,4,5,6,7]:
    print(data,end="")
# >>>1234567

②:

list = [1,2,3,4,5,6,7,8,9,10]
for i in range(len(list)):
    print(list[i],end="")
# >>>12345678910

2. 列表的推導式:
推導式又稱解析式。

[轉]基本格式:

variable = [out_exp_res for out_exp in input_list if out_exp == 2]
  • out_exp_res:列表生成元素表示式,可以是有返回值的函式。
  • for out_exp in input_list:迭代input_list將out_exp傳入out_exp_res表示式中。
  • if out_exp == 2:根據條件過濾哪些值可以。

例項:

list = [ i for i in range(1,50) if i % 3 == 0]
print(list)
# >>>[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48]

元組的遍歷:

  1. 元組的遍歷:

tup = (1,2,3,4,5,6,7,8,9,0)
for i in tup:
    print(i,end="")
# >>>1234567890

tup = (1,2,3,4,5,6,7,8,9,0)
i = 0
while i < len(tup):
    print(tup[i],end="")
    i += 1
# >>>1234567890

字典的遍歷和推導式:

1. 字典的推導式:

[轉]基本格式:

{ key_expr: value_expr for value in collection if condition }

例項:
用字串和其長度建立字典:

names = ['zhangsan','lisi','wangwu','zhaoliu','liuqi']

dic = {key:val for val,key in enumerate(names)}
print(dic)
# >>>{'zhangsan': 0, 'lisi': 1, 'wangwu': 2, 'zhaoliu': 3, 'liuqi': 4}

2. 字典的遍歷:

names = {'zhangsan': 0, 'lisi': 1, 'wangwu': 2, 'zhaoliu': 3, 'liuqi': 4}
for key,val in names.items():
    print(key,val," ",end="")

# >>>zhangsan 0  lisi 1  wangwu 2  zhaoliu 3  liuqi 4  

集合的遍歷和推導式:

1.集合的推導式:

基本格式:

set = { expr for value in collection if condition }

例項:

set = {x for x in [1,2,3]}
print(set)
# >>>{1, 2, 3}

2.集合的遍歷:

set = {1, 2, 3}
for x in set:
    print(x,' ',end="")
# >>>1  2  3