python学习-day2
列表:
1.打印列表元素
name = ['A','B','C','D','E'] print(name)
结果:
['A', 'B', 'C', 'D', 'E']
2.向列表中插入元素
name = ['A','B','C','D','E'] name.insert(2,'z') #2为列表元素索引值,z为要增加的元素 print(name)
结果:
['A', 'B', 'z', 'C', 'D', 'E']
3.列表切片
顾首不顾尾
name = ['A','B','C','D','E'] name1=name[1:4] print(name1)
结果:
['B', 'C', 'D']
name = ['A','B','C','D','E'] name1=name[-4:-1] print(name1)
结果:
['B', 'C', 'D']
name = ['A','B','C','D','E'] name1=name[-4:] print(name1)
结果:
['B', 'C', 'D', 'E']
name = ['A','B','C','D','E'] name1=name[-4:0] print(name1)
结果:
[]
这是怎么是空列表?
实际上,只要分片中最左边的索引比它右边的晚出现在序列中(这个例子中是倒数第3个比第1个晚出现),结果就是一个空的序列。
4.删除某个元素
name = ["A","B","C","D"] name.remove("B") print(name)
结果:
['A', 'C', 'D']
5.根据索引删除某个元素
# .pop(i) i的值为索引 ,pop()默认删除最后一个元素
name = ["A","B","C","D"] name.pop(2) print(name)
结果:
['A', 'B', 'D']
6.根据索引删除列表中多个元素
name = ["A","B","C","D"] del name[1:3] print(name)
结果:
['A', 'D']
7.列表步长
每隔一个元素打印一个元素
name = ["A","B","C","D","E","F","G"] name2 = name[::2] #[开始索引:结束索引:2] print(name2)
结果:
['A', 'C', 'E', 'G']
如果需要将每4个元素中的第1个提取出来,那么只要将步长设为4即可
name = ["A","B","C","D","E","F","G"] name2 = name[::4] print(name2)
结果:
['A', 'E']
8.查找某个元素的个数
name = ["A","B","C","D","E","F","G","A","A"] name2 = name.count("A") print(name2)
结果:
3
也就是说从列表name中找到了 4 个 "A"
9.把修改某个元素的值,假如列表中存在多个相同的元素
name = ['Alex','jack','Rain','A','B','C','A'] for i in range(name.count('A')): pos_name_of = name.index('A') name[pos_name_of]=999999 print(name)
结果:
['Alex', 'jack', 'Rain', 999999, 'B', 'C', 999999]
10. 找出相同的元素,并删除
name = ['Alex','jack','Rain','A','B','C','A']
for i in range(name.count('A')):
pos_name_of = name.index('A')
name.pop(pos_name_of)
print(name)
结果:
['Alex', 'jack', 'Rain', 'B', 'C']
字符串:
1.字符串去除空格
.strip()
username = input("user:") if username.strip() == 'alex': print("welcom")
2.字符串分隔
split() 分隔后是一个列表
names = "alex,jack,rain" name2 = names.split(",") #split()默认是以空格 print("2:%s" %name2) name3 = names.split() print("3:%s" %name3)
3.合成一个字符串
join()
names = "alex,jack,rain" name2 = names.split(",") #split()默认是以空格 print("|".join(name2))
4.判断字符串中是否有空格
name ="Alex Li" print('' in name)
5.把字符串第一个字母大写
name3 = "alex li" print("4:%s" %name.capitalize())
6.字符串分片
name="alex li" print(name[2:4])
7.打印出多个“——”
name='alex' print(name.center(40,'-'))
结果:
8.字符串查找
name="alex li" print(name.find('sdfs')) print(name.find('alex'))
9.判断输入的是否为数字
age = input("your age:") if age.isdigit(): age = int(age) else: print("invalid data type")
10.判断输入的是否为阿拉伯字符(数字字母)(有为真,否则为False),即是否包含特殊字符(有为False,否则为True)
name='alex#sdf' print(name.isalnum())
11.判断是否以什么结尾
name='alex3sdf' print(name.endswith('sdf'))
12.判断是否以什么开始
name='alex3sdf' print(name.startswith('alex'))
while 循环
1.while循环,循环到50-60之间不打印,第一次100跳出循环
#!/usr/bin/env python # -*- coding:utf-8 -*- count = 0 while True: count += 1 if count > 50 and count <60: continue print("aaaa",count) if count == 100: print("第100次了") break
列表:
1.打印列表中的元素
元素'A,a' ,即 i[0]=A ,i[1]=, i[2]=a
list1 = ['A,a','B,b','C,c','D,c'] for i in list1: p1,p2,p3 = i[0],i[1],i[2] print(p1,p2,p3)
结果:
2.打印列表中的元素,A,a
list1 = ['A,a','B,b','C,c','D,c'] for i in list1: p1,p2 = i[0],i[2] print(p1,p2)
结果:
3.打印购物列表,方法一
enumerate
product_list = [ ('Iphone',5888), ('Mac Air',8000), ('Mac Pro',9000), ('XiaoMi2',19.9),] for item in enumerate(product_list): index = item[0] p_name = item[1][0] p_price = item[1][1] print(index,p_name,p_price)
结果:
4.打印购物列表:方法二
product_list = [ ('Iphone',5888), ('Mac Air',8000), ('Mac Pro',9000), ('XiaoMi2',19.9),] print(product_list) for product_item in product_list: p_name,p_price = product_item print(product_item) print(p_name,p_price)
结果:
字典:
- 获取字典所有key的value值
id_db = { 11:{ 'name':"A", 'age': 20, 'addr': 'C1' }, 12: { 'name': "B", 'age': 25, 'addr': 'C2' } } #获取字典的所有key的value值 print(id_db.values())
结果:
dict_values([{'name': 'A', 'age': 20, 'addr': 'C1'}, {'name': 'B', 'age': 25, 'addr': 'C2'}])
- 获取字典所有key
id_db = { 11:{ 'name':"A", 'age': 20, 'addr': 'C1' }, 12: { 'name': "B", 'age': 25, 'addr': 'C2' } } #获取字典所有key print(id_db.keys())
结果:
dict_keys([11, 12])
- 判断是否存在某个key
存在返回True,不存在返回False
id_db = { 11:{ 'name':"A", 'age': 20, 'addr': 'C1' }, 12: { 'name': "B", 'age': 25, 'addr': 'C2' } } print(11 in id_db) # equals to above has_key(x) print(15 in id_db)
结果:
True
False
1.取出指定key的value值
id_db = { 11:{ 'name':"A", 'age': 20, 'addr': 'C1' }, 12: { 'name': "B", 'age': 24, 'addr': 'C2' } } print(id_db[11])
结果:
{'addr': 'C1', 'name': 'A', 'age': 24}
2.修改字典中key对应的value值
id_db = { 11:{ 'name':"A", 'age': 20, 'addr': 'C1' }, 12: { 'name': "B", 'age': 24, 'addr': 'C2' } } id_db[11]["name"]= "C" print(id_db[11])
结果:
{'age': 20, 'name': 'C', 'addr': 'C1'}
3.为字典中对应key增加value值
id_db = { 11:{ 'name':"A", 'age': 20, 'addr': 'C1' } } id_db[11]["qq"]= "12345" print(id_db[11])
结果:
{'age': 20, 'qq': '12345', 'addr': 'C1', 'name': 'A'}
4.删除key对应的某个value
id_db = { 11:{ 'name':"A", 'age': 20, 'addr': 'C1' } } id_db[11].pop("name") print(id_db)
结果:
{11: {'age': 20, 'addr': 'C1'}}
5.取字典中的值
获取指定key的value值,如果指定的key不存在,那么会返回None
id_db = { 11:{ 'name':"A", 'age': 20, 'addr': 'C1' } } v1 = id_db.get(11) print(v1) v2 = id_db.get(13) print(v2)
结果:
{'name': 'A', 'age': 20, 'addr': 'C1'}
None
6.获取指定key的value值,如果指定的key不存在,那么就报错
id_db = { 11:{ 'name':"A", 'age': 20, 'addr': 'C1' } } v = id_db[12] print(v)
结果:
7.
id_db = { 11:{ 'name':"A", 'age': 20, 'addr': 'C1' }, 12: { 'name': "B", 'age': 25, 'addr': 'C2' } } print(id_db.items())
结果:
dict_items([(11, {'age': 20, 'addr': 'C1', 'name': 'A'}), (12, {'age': 25, 'addr': 'C2', 'name': 'B'})])
8.循环打印字典中的内容
方法一:
效率低,因为要有一个dict to list 的转换过程
id_db = { 11:{ 'name':"A", 'age': 20, 'addr': 'C1' }, 12: { 'name': "B", 'age': 25, 'addr': 'C2' } } for k,v in id_db.items():#效率低,因为要有一个dict to list 的转换过程 print(k,v)
结果:
11 {'addr': 'C1', 'age': 20, 'name': 'A'}
12 {'addr': 'C2', 'age': 25, 'name': 'B'}
方法二:
效率高
id_db = { 11:{ 'name':"A", 'age': 20, 'addr': 'C1' }, 12: { 'name': "B", 'age': 25, 'addr': 'C2' } } for key in id_db: #效率高 print(key,id_db[key])
结果:
11 {'age': 20, 'addr': 'C1', 'name': 'A'}
12 {'age': 25, 'addr': 'C2', 'name': 'B'}