python七类之列表元组

列表

一、关键字:  list  lst = [ , , , , , , ,]

 lst = [1,2,3,4]

二、方法:

1.增加:

. append( ) #追加​​​,添加元素进列表最后

lst.append('alex')     #追加,默认加到列表最后

. insert ( )​   #插入 括号里前面放插入的位置(索引),后面是插入的内容

lst.insert(0,'alex')      #添加指定位置,前面是位置,后面是内容

.extend( )​​   #扩展 只能进行迭代添加, 只能在添加到后面,后面添加可迭代对象

lst = [1,2,3,4]
lst.extend('alex')
print(lst)​ 输出:[1, 2, 3, 4, 'a', 'l', 'e', 'x']

+:   号是合并列表的方法​​

* :lst_1 * 数字 将列表内的元素翻倍输出 ​

 

2.删除:

.remove()            #移除 通过放在括号里的指定元素进行删除​​.,后面只能加入一个删除参数.只能删除一个.

lst.remove(4)                #删除指定元素,后面加入要删除的元素

.pop( )                 #弹出​​ 默认删除最后一个. 后面可以加元素的索引​指定删除的元素 

lst.pop()                      #默认删除最后一个
i=lst.pop(2)                    #删除指定索引的元素,并且可以返回删除的值

.clear( )               ​ #清空 将列表内的元素都删除

lst.clear()                       #清空列表

注意(此处神坑):用for循环将列表清空

(错误方式)

lst = [1,2,3,4,5]

for i in lst: #这种问题是for循环的循环机制导致的,这个是当for要循环的数据为空时,他就停止循环
lst.remove(i) #这样子删除不行,循环删除是位置上的值,当这个位置删除过了,下次再循环就不会再删除这个位置了
print(lst)      

 

正确方式:

1、利用pop()方法

lst = [1,2,3,4,5]
for i in range(len(lst)):   #通过for实现循环次数,但是并不参与删除操作
lst.pop(0)           #默认删除最后一个,可以规避掉for的循环机制
print(lst)

 

2、利用新列表规避:

lst = [1,2,3,4,5]           
lst1 = []                          #通过另建一个新表
for i in lst: 
  lst1.append(i)                #使用另一个列表来规避掉for的循环机制
for k in lst1:
  lst.remove(k)
  print(lst)

 

del lst [ ]     #通过索引删除对应的元素​

del lst[1]                            #删除指定位置的元素

del ​​lst                   #删除整个列表,即将列表删了

3.修改​:

lst []​ = ' '     #具体替换, 利用索引

lst[1] = 'alex'                      #修改指定位置的元素

 

lst[0:5] = ''    #当一次性​改多个元素时,当后面是一个元素时,将该元素分开替换,后面是多个元素时,将多个元素分别替换前面的索引

lst[0:2] = 'alex','wusir'  

4.查:

a.lst[ ]       #利用索引进行查询​​

i = lst[0]                              #查询具体位置的元素

 

b.通过for循环查询​​

​5.列表的其他操作:

操作列表的时候要进行赋值,增删改查的时候不用赋值。​​

其他的和字符串相通:

​.reverse( )    #对列表进行翻转​ ,没有赋值

​.sort()       #按大小对列表进行排序​默认升序,对于字母按照单词的首字母按26个字母进行排序. 即按照ASCII进行排序 没有返回值

降序:

​lst.sort(reverse = True) ​

print(lst)​   

  排序:

lis = ['1','2','3','9','26','7','3','92','a','c','d']
lis.sort()
lis.reverse()
print(lis)

 

列表嵌套:​

lst = [1,'太白','wusir',['麻花疼',['可口可乐'],'王健林']]
lst[-1][1].append('雪碧')
print(lst[-1][1])
print(lst)​​

列表是可变的有序的数据类型

元组

一、关键字: tuple

tu(1)​

print(type(tu))   #元组中的数据类型取决于其中的数据类型种类的多少,如果括号里只有一个类型,那表现为这个类型,如果有两个以上类型,那表现为'tuple'类型

      只要是中括号括起来的,其数据类型都是'list'

元组只能进行索引和计数,还可以切片,切片切出来的还是元组.也能循环,就是不能更改元祖的内容

注意:元组也可以合并,合并是两个的数据类型都应该是tuple​

tu1 = tu() + (5)     #是错误的,因为括号里只有整型一个数据类型,所以表现为整型,不能和元组合并.

​​tu1 = tu() + (5,)     #这样子就可以了

​tu = (1,2,3,4)​​

tu.index( )​ #查找​

tu.count( )​ #计数

元祖也可以嵌套​

​元组中的字符串和数字是不可变的数据类型,而其中嵌套的列表是可以更改的​,就是说其所代表的内存没有改变

之所以使用元组主要是因为元组不可改变,安全系数比列表更高!​

元组是不可变得有序的数据类型的数据类型.

七大数据类型之间的转换

str()       #可以转换任何数据类型

int()       #可以转换str中单个数字

bool()       #其中有0,False,{},[],'',()表示False,别的都是True

list()       #除了数字和bool值之外都可以转换 ,转换字典是只能转换其中的键,即可迭代的数据类型

tuple()      #除了数字和bool值之外都可以转换 ,转换字典是只能转换其中的键,即可迭代的数据类型

dict()       #什么类型都不能转换

set()       #除了数字和bool值之外都可以转换 ,转换字典是只能转换其中的键,即可迭代的数据类型

#数据类型转换
str()         #可以转换任何数据类型
int()         #可以转换str中单个数字
bool()        #其中有0,False,{},[],'',()表示False,别的都是True
list()        #除了数字和bool值之外都可以转换 ,转换字典是只能转换其中的键,即可迭代的数据类型
tuple()       #除了数字和bool值之外都可以转换 ,转换字典是只能转换其中的键,即可迭代的数据类型
dict()        #什么类型都不能转换
print(set({'alex':1,'2':3})) #除了数字和bool值之外都可以转换 ,转换字典是只能转换其中的键,即可迭代的数据类型

 

posted @ 2018-10-25 20:35  三藏大师3  阅读(305)  评论(1编辑  收藏  举报