Python学习笔记(二)

目录:

    一.列表、元组

    二.字符串

    三.字典、集合

    四.条件判断与循环

 

一.列表、元组

 


Python内置的一种数据类型。列表:list,是一种有序的集合,可以随时添加和删除其中的元素。

例:

>>>players = ['Lebron', 'Kobe', 'Kyrie']
>>>players
['Lebron', 'Kobe', 'Kyrie']

变量players就是一个list。

用len()函数获取list元素的个数:

>>>len(players)

3

用索引访问list中每个位置的元素,索引从0开始;获取最后一个元素可以用-1做索引。

切片:

>>>players = ['Lebron', 'Kobe', 'Kyrie', 'Dwyane']
>>>players[1:3] #取下标1-3之间的数,包括1,不包括3
['Kobe', 'Kyrie']
>>>players[1:-1] #取下标1至-1的值,不包括-1
['Kobe', 'Kyrie']
>>>players[:3] #从头开始取,0可以忽略
['Lebron', 'Kobe', 'Kyrie']
>>>players[2:] #从最后一个开始取
['Kyrie' , 'Dwyane']
>>>players[0:0:2] #后面的2代表每隔一个元素取一个
['Lebron', 'Kyrie']
>>>players[::2] #和上句效果一样
['Lebron', 'Kyrie']

追加:

players.append()

插入:

>>>players = ['Lebron', 'Kobe', 'Kyrie', 'Dwyane', 'Chris']
>>>players.insert(2, 'Kevin')
>>>players
['Lebron', 'Kobe', 'Kevin', 'Kyrie', 'Dwyane', 'Chris']
View Code

修改:

players[2]='SC'

删除:

>>>del players[2]
>>>players.remove('Kobe') #删除指定元素
>>>players.pop() #删除列表最后一个值

扩展:

>>>players
['Lebron', 'Kobe', 'Kyrie', 'Dwyane']
>>>b = [1, 2, 3]
>>>players.extend(b)
>>>players
['Lebron', 'Kobe', 'Kyrie', 'Dwyane', 1, 2, 3]

拷贝:

p_copy = players.copy()

后续补充

统计:players.count('Lebron')

排序:players.sort() #Python3不同类型不能放在一起排序

反转:players.reverse()

获取下标:players.index()

元组:一旦创建,不可修改。

players = ('Lebron', 'Kobe', Kyrie')

只有两个方法:count,index

 

二.字符串

 


 

方法:

name.capitalize()  #首字母大写

name.casefold()  #大写全部变小写

name.center(20,"-")  #输出'----------Lebron----------'

name.count('a')  #统计a出现的次数

name.encode()  #将字符串编码成byte格式

name.endswith("a")  #判断字符串是否以a结尾

"Bryce\tYang".expendtabs(10) 输出'Bryce          Yang', 将\t转换成空格

name.find('a')  #查找a,找到返回其索引,找不到返回-1

 

format:

>>>stu = "my name is {}, age is {}"

>>>stu.format("Allen", 18)

'my name is Allen,age is 18'

>>>stu = "my name is {1}, age is {0}"

>>>stu.format("Allen", 18)

'my name is 18, age is Allen'

>>>stu = "my name is {name}, age is {age}"

>>>stu.format(age=18, name="Allen")

'my name is Allen,age is 18'

format_map

>>>stu.format_map({'name': 'Allen', 'age': 18})

'my name is Allen,age is 18'

 

names.isalnum()  #字符串中是否只包含字母和数字

names.isalpha()  #是否只包含字母,汉字

#是否是数字

names.isdecimal()     

names.isdigit()                    #三种的区别

names.isnumeric()

#将字符串中的每一个元素按照指定分隔符进行拼接

test = "EVERYTHING"

v = "_".join(test)

names.lower()   #转为小写

names.upper()  #转为大写

names.lstrip()  #去除左空白

names.rstrip()  #去除右空白

names.strip() #去除左右空白

 

三.字典、集合


 

字典使用了键-值(key-value)存储,具有极快的查找速度。

语法:

>>>d = {'Michael':95, 'Bob':90, 'Tracy':85}
>>>d['Michael']
95

和list相比,dict有以下几个特点:

1.查找和插入速度极快,不会随着key的增加而变慢;

2.需要占用大量的内存,内存浪费多。

字典中的key是不可变对象,所以字符串,整数等都可以作为key,而list是可变的,不能作为key.

字典是无序的

集合(set):

>>>s = set([1,2,3])

>>>s

{1,2,3}

set可以看成数学上的无序和无重复元素的集合,因此,两个集合可以做数学意义上的交集、并集等操作

 

四.条件判断与循环


 if...else

age = 20
if age>18:
    print('your age is', age)
    print('adult')
else:
    print('your age is', age)
    print('teenager')

elif是else if 的缩写

if<条件判断>:

  <执行>

elif<条件判断2>:

  <执行>

elif<条件判断3>:

  <执行3>

else:

  <执行4>

 

for循环:

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)

while循环:

sum = 0
n = 99
while n > 0:
    sum = sum+n
    n = n-2
print(sum)

break提前退出循环:

n = 1
while n<=100:
    if n >10:
        break
    print(n)
    n = n+1
print('END')

continue跳过当前循环,直接开始下一次循环:

n = 0
while n<10:
    n = n+1
    if n%2 ==0:
        continue
    print(n)

 

posted @ 2018-03-10 21:06  MADNA  阅读(612)  评论(0)    收藏  举报