Python入门(3)

一些入门基础知识
  • elif 相当于else if
  • 三元操作符格式:result = 为真时的结果 if 判定条件 else 为假时的结果。如:x,y=3987,24361     small=(x if x<y else y)
  • 断言:assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。如:assert 3 > 4。一般来说我们可以用这个在程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。
  • x , y , z = y , z , x :这种赋值方式,位置对应赋值,互不影响。如:
>>> x = 1
>>> y = 2
>>> z = 3
>>> x , y , z = y , z , x
>>> x
2
>>> y
3
>>> z
1
  • for循环:

for   目标   in   表达式

       循环体

for i in range(10):
    if i%2 != 0:
        print(i)
        continue
    i += 2
    print(i)


  • 列表:
一、创建:索引值从0开始

        列表的数据项不需要具有相同的类型;创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可

        创建一个普通列表:number = [1,2,3,4]
        创建一个混合列表:mix = [ 1,'hello',4.0,[1,2,3,4] ]      (列表的元素也可以是列表)
        创建一个空列表:empty = [ ]
二、向列表中添加元素:
        append() : append() 追加单个元素到List的尾部,只接受一个参数,参数可以是任何数据类型,被追加的元素在List中保持着原结构类型。无返回值。
        extend(): extend() 将一个列表中每个元素分别添加到另一个列表中,只接受一个参数,即一个列表;extend()相当于是将list B 连接到list A上。
        insert(): insert() 将一个元素插入到列表中,但其参数有两个(如insert(a,b)),第一个参数是索引点,即插入的位置(从0开始计数),第二个参数是插入的元素。
        + 加号:将两个list相加,会返回到一个新的list对象,注意与前三种的区别。前面三种方法(append, extend, insert)可对列表增加元素的操作,他们没有返回值,是直接修改了原数据对象。 注意:将两个list相加,需要创建新的list对象,从而需要消耗额外的内存,特别是当list较大时,尽量不要使用“+”来添加list,而应该尽可能使用List的append()方法。
>>> member = [1,2,'hello',[4,5]]
>>> member
[1, 2, 'hello', [4, 5]]
>>> member.append('python')
>>> member
[1, 2, 'hello', [4, 5], 'python']
>>> len(member)
5
>>> member.append('test','try')
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    member.append('test','try')
TypeError: append() takes exactly one argument (2 given)
>>> member.extend('test','try')
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    member.extend('test','try')
TypeError: extend() takes exactly one argument (2 given)
>>> member.extend( ['test','try'] )
>>> member
[1, 2, 'hello', [4, 5], 'python', 'test', 'try']
>>> member.insert(0,'funny')
>>> member
['funny', 1, 2, 'hello', [4, 5], 'python', 'test', 'try']
>>> list1 = ['a', 'x', 'b', 'c', 'd']
>>> list2 = ['y','z']
>>> list3 = list1+list2
>>> list3
['a', 'x', 'b', 'c', 'd', 'y', 'z']

三、从列表中删除元素:
        remove():remove删除首个符合条件的元素,并不删除特定的索引,但若删除列表中不存在元素则会出错(如果不确定或不关心元素在列表中的位置,可以使用remove()根据指定的值来删除元素。)
del语句:使用del可以删除一个元素,返回值不可以付给其他的变量。当元素删除之后,位于它后面的元素会自动移动填补空出来的位置。
        del+列表名字:将整个列表删除
        pop():获取并删除指定位置元素。按照索引删除字符,返回值可以付给其他的变量,返回的是你弹出的那个数值。如果为pop(索引值)指定了删除元素的位置,它会返回对应位置的元素。如果不指定,则默认使用-1。因此pop(0)将返回头元素,而pop()或pop(-1)则会返回列表的尾元素。
>>> member = ['hello','world','c','python']
>>> member.remove('hello')
>>> member
['world', 'c', 'python']
>>> member.remove('try')
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    member.remove('try')
ValueError: list.remove(x): x not in list
>>> del member[1]
>>> member
['world', 'python']
>>> member.pop()
'python'
>>> member
['world']
>>> test = member.pop()
>>> test
'world'
>>> member
[]
>>> member = ['hello','world','c','python']
>>> member.pop(1)
'world'
>>> member
['hello', 'c', 'python']
>>> member.pop(0)
'hello'

列表分片(slice):
       可以利用分片完成列表的拷贝,如list2 = list1[ : ]。和list3 = list1(为一个固定的东西指定另一个名字的做法,其实只是给同一个东西多加了一个标签而已)相区别。举例:
>>> list1 = [1, 3, 2, 9, 7, 8]
>>> list2 = list1[:]
>>> list2
[1, 3, 2, 9, 7, 8]
>>> list3 = list1
>>> list3
[1, 3, 2, 9, 7, 8] #到这里看起来一样,但是排个序之后就有差别了
>>> list1.sort()
>>> list1
[1, 2, 3, 7, 8, 9]
>>> list2
[1, 3, 2, 9, 7, 8] #list2并未跟随list1改变
>>> list3
[1, 2, 3, 7, 8, 9] #list3跟随list1改变
        分片访问:
>>> number = [1,2,3,4,5]  
>>> number[0:2] #访问从索引值0到索引值2的元素,但不包含索引值2的元素
[1, 2]
>>> number[:2] #冒号前没有数字的话默认从索引值0开始访问2个元素
[1, 2]
>>> number[1:3] #访问从索引值1到3的元素
[2, 3]
>>> number[3:4]
[4]
>>> number[-1] #访问索引值为-1的元素
5
>>> number[-1:-3]
[]
>>> number[-3:-1] 
[3, 4]
>>> number[1::2] #访问从索引值1开始的元素,步长为2
[2, 4]
>>> number[::0] #步长不能为0
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    number[::0]
ValueError: slice step cannot be zero
>>> number[::2] #从索引值0开始,步长为2
[1, 3, 5]
>>> number[::-2] #步长可以为负数,改变走向
[5, 3, 1]
>>> number[0:4:2] #从0开始到索引值4,步长为2
[1, 3]

列表中的方法或函数:

方法或函数

描述

语法

参数

返回值

len()

返回列表元素个数

len(list)

list:要计算元素个数的列表

列表元素个数

max()/min()

返回列表元素中的最大/小值

max(list)
min(list)

list:要返回最大/小值的列表。

列表元素中的最大/小值

list()

将元组转换为列表

list(seq)

 

list :要转换为列表的元组。

列表

append()

用于在列表末尾添加新的对象

list.append(obj)

 

obj :添加到列表末尾的对象。

该方法无返回值,但是会修改原来的列表

count()

用于统计字符串里某个字符出现的次数.可选参数为在字符串搜索的开始与结束位置

list.count(obj)

 

obj :列表中统计的对象。

元素在列表中出现的次数

extend()

用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

list.extend(seq)

seq:元素列表

没有返回值,但会在已存在的列表中添加新的列表内容

index()

用于从列表中找出某个值第一个匹配项的索引位置

list.index(obj)

obj :查找的对象。

返回查找对象的索引位置,如果没有找到对象则抛出异常

insert()

用于将指定对象插入列表的指定位置

list.insert(index, obj)

 

index:对象obj需要插入的索引位置。

obj:要插入列表中的对象。

没有返回值,但会在列表指定位置插入对象。

pop()

用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

list.pop(obj=list[-1])

obj:可选参数,要移除列表元素的对象。

返回从列表中移除的元素对象

remove()

用于移除列表中某个值的第一个匹配项

list.remove(obj)

 

obj:列表中要移除的对象

         

没有返回值但是会移除两种中的某个值的第一个匹配项

       

reverse()

用于反向列表中元素

list.reverse()

没有返回值,但是会对列表的元素进行反向排序。

sort()

用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数

list.sort([func])

 

func:可选参数, 如果指定了该参数会使用该参数的方法进行排序。

没有返回值,但是会对列表的对象进行排序

clear()

用于清空列表,类似于 del a[:]

list.clear()

没有返回值

copy()

用于复制列表,类似于 a[:]

list.copy()

返回复制后的新列表

 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值