一 字符串格式化输出
name = 'nikita'
age = 18
print ("I'am %s, age is %d") % (name, age)
PS: 字符串是 %s;整数 %d;浮点数%f
字符串常用功能:
- 移除空白 (e.g., .strip() 默认去掉后面多余空格, 也可指定去掉多余的标点,字符)
- 分割 (e.g.,
name = "jack, alex, ming"
name2 = name.split(',')
print name2 ['jack', 'alex', 'ming'])
- 合拼 (e.g., '.'.join(name))
- 长度
- 索引
- 切片
- 查找 (e.g., name.find('n'), 结果为索引,如果没有结果为-1)
二 列表
创建列表:
name_list = ['nikita', 'jack', 'may', 'ming', 'faye', 'yoeyoe', 'amy'] #记住列表用中括号
name_list1 = ['sue', 'joye']
基本操作:
- 索引 (e.g., name_list[0])
- 切片 (e.g., name_list[1:5:2], 1 表示由第2位('jack')开始取,5 表示取到第5位('faye'), 2 表示每隔两位,取一个数(结果为 ['jack', 'ming'])。切片索引号包头不包尾,即包括‘jack’, 不包括‘yoeyoe’ )
- 追加 (e.g., name_list.append('cici'); name_list.insert(2, 'cici'); name_list.extend(name_list1)。append 只能加到尾端;insert 可以指定位置插入; extend 两个列表扩展成一个列表)
- 删除 (e.g., name_list.pop(),默认去掉最后一个,填入具体数字,即删去指定值。 name_list.remove('nikita'). del name_list[1:4]。 pop, remove一次只能删一个, del可以同时删除多个)
- 长度 (e.g., len(name_list))
- 排序 (e.g., name_list.reverse(), 倒序; name_list.sort(), 排序)
- 复制 (e.g., name_list.copy(); name_list.deepcopy(); 如果列表里面还有一个列表,copy, 只复制第一层列表,deepcopy, 复制所有列表)
- 循环 (e.g.,
for i in range (name_list.count('may')):
ele_index = name_list.index('may')
name_list[ele_index] = ‘apple’利用循环把列表里所有的‘may’改成‘apple’)
- 枚举
li = [11,22,33]
for k,v in enumerate(li, 1):
print(k,v) - 位置 (e.g., name_list.index ('ming'))
- 包含 (e.g.,
if 'may' in name_list:
print ('may in list'))
三 元祖(不可变列表)
age = (1, 2, 3, 4) #元组用小括号
四 字典
字典(无序)
创建字典:
id = {1: 'nikita', 2: 'ming' 3: 'yoeyoe'} #记得用大括号,keyS和values之间用分号
常用操作:
- 索引 (e.g., id[1])
- 新增 (e.g. id[4] = 'jack')
- 删除 (e.g., del id[1])
- 键、值、键值对 (e.g., id.keys(); id.values() )
- 取值 (e.g., id.get(1))
- 循环 (e.g.,
for key in id:
print(key, id[key]))
- 长度