一、列表解析
用法举例
打印一个列表,元素为:“第 1 名”,“第 2 名”,……,“第 20 名”。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
list = [ '第 %d 名' %i for i in range(1,21)]
print(list)
运行结果
['第 1 名', '第 2 名', '第 3 名', '第 4 名', '第 5 名', '第 6 名', '第 7 名', '第 8 名', '第 9 名', '第 10 名', '第 11 名', '第 12 名', '第 13 名', '第 14 名', '第 15 名', '第 16 名', '第 17 名', '第 18 名', '第 19 名', '第 20 名']
二、生成器
正确使用生成器可以节省内存。
生成器是列表的变种。比如在使用 for i in <列表>
的时候,列表中的所有元素不会一次性放入内存中,而是需要哪个元素的时候才将哪个元素放入内存中。
用法举例
使用生成器,逐行打印出列表的元素。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
list = ('第 %d 名' % i for i in range(1, 21)) # 生成器和列表解析的样子很像,只是将方括号换成圆括号而已
print(type(list)) # 查看 list 的类型
for b in list:
print(b)
运行结果
<class 'generator'> # list 属于生成器的类型
第 1 名
第 2 名
第 3 名
第 4 名
第 5 名
第 6 名
第 7 名
第 8 名
第 9 名
第 10 名
第 11 名
第 12 名
第 13 名
第 14 名
第 15 名
第 16 名
第 17 名
第 18 名
第 19 名
第 20 名
三、字典遍历
用法举例
建立一个用户信息(用户名、密码)的字典,然后将它以可读性好的格式打印出来。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
userinfo = {'user_1': '123', 'user_2': '234', 'user_3': '345'}
for j, k in userinfo.items():
print('用户名:%s\t密码:%s' % (j, k))
运行结果
用户名:user_1 密码:123
用户名:user_2 密码:234
用户名:user_3 密码:345
四、字符串转换
用法举例
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# 字母大小写转换
str1 = 'aBc'
print(str1)
str1_mod = str1.lower() # 将 str1 转换为小写字符
print(str1_mod)
print()
# 去除空格
str2 = ' aaa '
print(str2)
str2_mod = str2.strip() # 将 str2 的空格去除
print(str2_mod)
print()
# 列表的拼接
str3 = ['192', '168', '1', '1']
print(str3)
str3_mod = '.'.join(str3) # 以点为分隔符将列表 str3 中的元素拼接起来
print(str3_mod)
运行结果
aBc
abc
aaa
aaa
['192', '168', '1', '1']
192.168.1.1