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'}

 

posted @ 2016-05-16 23:06  unixfbi.com  阅读(288)  评论(0编辑  收藏  举报