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