一、字符串容器(string)
1.#for循环遍历字符串
My_str = 'hi,你好'
for v in My_str:
print(v,end='')
输出:
2.#replace替换函数
my_string = '寻寻觅觅,冷冷清清,柒柒惨惨戚戚'
print(my_string) #还未替换前
print(my_string.replace('柒','凄',2)) #替换后重新生成一个字符串,2代表替换两次
输出结果:
字符串(string)特点:
1、字符串一旦定义不允许修改(赋值)
2、字符串容器里面的元素都是字符类型
字符串切片案例:(切片语法:左闭右开)
#-----------------------------方法一(find)
email = 'chenroubao@IT.com'
#如果查找到,返回子串第一次出现的位置;找不到就返回-1
position = email.find('@')
if position == -1:
print('不存在@!')
else:
left = email[:position]
right = email[position+1:]
print('左边是:',left)
print('右边是:',right)
print('逆序输出:',email[::-1])#-------逆序输出
输出结果:
#--------------方法二(split)
email = 'chenroubao@IT.com'
count = email.count('@')
if count == 1:
result = email.split('@')
print('左边是:',result[0])
print('右边是:',result[1])
else:
print('邮箱不合法!')
输出结果:
二、列表容器(list)
1 #插入删除函数
2 my_list = []
3
4 #append在尾部插入元素
5 my_list.append(1)
6 my_list.append(2)
7 my_list.append(3)
8 my_list.append(4)
9 print(my_list) #[1,2,3,4]
10 #insert 在指定位置插入
11 my_list.insert(2,1)
12 print(my_list) #[1,2,1,3,4]
13 #pop 用于位置删除,默认删除最后一个元素
14 my_list.pop()
15 print(my_list) #[1,2,1,3]
16 my_list.pop(3)
17 print(my_list) #[1,2,1]
18 #remove 根据值删除,默认删除第一个出现的值
19 my_list.remove(1)
20 print(my_list) #[2,1]
21 #clear 清空
22 my_list.clear()
23 print('列表长度:',len(my_list)) #列表长度:0
1 #排序函数
2 #产生10个随机数
3 import random
4 list = []
5 i = 0
6 while i < 10:
7 random_shu = random.randint(1,10)
8 list.append(random_shu)
9 i += 1
10 print(list)
11 #sort排序 默认升序 (设置reverse=True降序)
12 list.sort()
13 print(list)
14 #reverse逆序输出
15 list.reverse()
16 print(list)
输出结果:
#extend扩大 用于两个list合并
list = [1,2]
list2 = [3,4]
list.extend(list2)
print(list) #输出:[1,2,3,4]
列表(list)优缺点:
优点:
支持位置删除(尾部删除、指定位置删除)和值删除
尾部插入和删除效率更高,原因是:不需要移动元素
指定位置插入和删除效率较低,原因是:需要移动元素,元素越多,效率越低
缺点:
查找效率低(列表是序列式存储的,假如查找的元素位置在最后,那相当于把整个列表都查了一遍才找的出来,所以效率低。)
但是指定位置的查找效率是高的。
三、元祖(tuple)
#元祖的定义
tuple = ((1,),)
print(tuple) #输出: ((1,))
元祖(tuple)特点:
不支持修改,只支持遍历、查找
元祖内只有一个元素时,加,(逗号)
元祖比列表更节省空间
元祖是序列式容器,支持索引、切片操作
四、字典(dict)
def test():
#字典定义
my_dict = {'name':'obama','age':18,'sex':'男'}
print(my_dict.get('name1','key不存在,这里是默认值'))
#key不存在,就添加元素;存在就是修改元素
my_dict['score'] = 100
print(my_dict)
test()
输出结果:
1 #字典遍历
2 my_dict = {'name':'obama','age':18,'sex':'男'}
3 for val in my_dict:
4 print(val) #输出键,没有值
5 key = my_dict.keys()
6 print(list(key)) #按列表输出键
7 val = my_dict.values()
8 print(list(val)) #按列表输出值
9 key_value = my_dict.items()
10 print(list(key_value)) #输出键值对
11 for keyval in key_value:
12 print('key:',keyval[0],'value:',keyval[1])
输出结果:
1 # while循环遍历字典
2 my_dict = {'name':'obama','age':18,'sex':'男'}
3 list = list(my_dict.items())
4 i = 0
5 while i < len(list):
6 print('key:',list[i][0],'value:',list[i][1])
7 i += 1
输出结果:
字典(dict)特点:
字典是非序列式容器,不支持索引、切片
查找效率高,空间占用较大。以空间换时间
标签:容器,输出,Python,list,dict,key,print,my,四种
来源: https://www.cnblogs.com/zero-blogs/p/12918576.html