Python 学习笔记(5)

来源:互联网 发布:大数据 可视化 编辑:程序博客网 时间:2024/06/07 01:36
1. 使用zip()并行迭代
在迭代的时候有个非常方便的技巧,使用zip()函数对多个序列进行并行迭代。
English='Monday','Tuesday','Wednesday'

English
Out[2]: ('Monday', 'Tuesday', 'Wednesday')

French='Lundi','Mardi','Mercredi'

zip(English,French)
Out[4]: [('Monday', 'Lundi'), ('Tuesday', 'Mardi'), ('Wednesday', 'Mercredi')]

dict(zip(English,French))
Out[5]: {'Monday': 'Lundi', 'Tuesday': 'Mardi', 'Wednesday': 'Mercredi'}

2. range()函数生成自然数序列
range(start,end,step)

3. 推导式(将循环和判断结合,避免语法的冗长),这是Python 的语法风格。
>> 列表推导式
例如:【expression for item in iterable】
num_list=[num for num in range(1,6)] #第一个num是列表生成的值,循环的结果放在num_list中,
Out[10]: [1, 2, 3, 4, 5] #第二个num是循环变量,其中,第一个num可以是表达式。
例:
num=[num+1 for num in range(1,6)]
num
Out[12]: [2, 3, 4, 5, 6]

num=[num+1 for num in range(1,6) if num %2==1] #增加判断
num
Out[14]: [2, 4, 6]

rows=range(1,4) #数组的推导式
cols=range(1,3)
cells=[(row,col) for row in rows for col in cols]
for cell in cells:
print(cell)

(1, 1)
(1, 2)
(2, 1)
(2, 2)
(3, 1)
(3, 2)

>> 字典推导式
word ='letter'
letter_counts={letter:word.count(letter) for letter in word} #对字符串中字母出现的次数进行统计
letter_counts
Out[26]: {'e': 2, 'l': 1, 'r': 1, 't': 2}


0 0
原创粉丝点击