列表

一、关键字:  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值之外都可以转换 ,转换字典是只能转换其中的键,即可迭代的数据类型