Python基本数据类型之列表

补充:range()方法  

python2:

   range   立即创建

   xrange  for循环的时候才一个一个创建

Python3:

          range     for循环的时候才一个一个创建

补充:列表是有序的,字符串可以和列表一样取值但不可和列表一样修改值   

"""str()  转换为字符串类型  
int()  把指定类型转换为做整型
bool()把指定类型转换为布尔型"""
v = str(123)
v = bool("")
v = int("678")

列表(list) : 用中括号括起来,逗号分割每个元素,元素可以是数字、字符串、列表、布尔值等等

 #列表可嵌套

例如:li = [1,12,"alex"]

li = [12,31,["呵呵了",23,5,"abc"],123,1,89]   

列表取值:  索引取值或切片取值,注意切片取得的是列表,列表的值是可以修改的。

print( li[3] )       li[3:-1]     

修改值方法:1.  li[索引号]=value

      2.切片修改:li[0:2] = [120,22]

#删除列表值的方法

del li[索引号]

in 操作

li = [1,120,9,"age",["呵呵哒",["abc",12],10],"alex"]
v = 12 in li
print(v)
========>False

嵌套列表的取值

li = [1,2,3,["😀",0,[”🆗“,"没毛病"],"🌫"],"alex","qwe"]
v = li[3][2][2]
print(v)
=========> "没毛病"

转换为列表类型:list()

s = "abcdefghijklmnopqrstuvwxyz"
new_li = list(s)
print(new_li)

list类中提供的方法:

#append追加元素,也可以追加列表
li = [1,2,3,4]
li.append("alex")
li.append([123,456])

#clear清空列表
li = [1,2,3,4]
li.clear()  

#copy 拷贝,浅拷贝
li = [1,2,3] 
v = li.copy()
print(v)      ======>[1,2,3]

#count 计算元素出现的次数,参数必需添加
li = [1,2,"h",43,2]
v = li.count(2)
print(v)   ======> 2

#extend扩展原来列表,可迭代对象    注意:与列表形似都可以添加元素,但不完全相同
li = [1,2,3]
li.extend([4,5])
print(li)      ======>  [1,2,3,4,5]

#index 根据值找到当前值第一个索引位置,左侧优先
li = [1,2,3]
v = li.index(3)
print(v)     ======> 2

#insert在指定索引位置插入元素
li = [1,2,3,4]
li.insert(1,[99,"aaa"])
print(li)     ======>[1,[99,"aaa"],2,3,4]

#pop和remove都是删除
#pop删除指定索引的值
li = [1,2,3,4]
li.pop(索引号)  #pop默认删除最后一个
print(li)     
#remove删除指定值的元素
li = [11,22,33,44]
li.remove(22)
print(li)   ======>[11,33,44]

#reverse将当前列表进行反转
li = [11,22,33,44]
li.reverse()
print(li)   ======>[44,33,22,11]

#sort排序  默认从小到大,从大到小用reverse=True参数
li = [1,3,5,1,2,9,7,5]
li.sort(reverse=True)
print(li)     ======>[9,7,5,5,3,2,1,1]
#append追加元素,也可以追加列表
li = [1,2,3,4]
li.append("alex")
li.append([123,456])

#clear清空列表
li = [1,2,3,4]
li.clear()  

#copy 拷贝,浅拷贝
li = [1,2,3] 
v = li.copy()
print(v)      ======>[1,2,3]

#count 计算元素出现的次数,参数必需添加
li = [1,2,"h",43,2]
v = li.count(2)
print(v)   ======> 2

#extend扩展原来列表,可迭代对象    注意:与列表形似都可以添加元素,但不完全相同
li = [1,2,3]
li.extend([4,5])
print(li)      ======>  [1,2,3,4,5]

#index 根据值找到当前值第一个索引位置,左侧优先
li = [1,2,3]
v = li.index(3)
print(v)     ======> 2

#insert在指定索引位置插入元素
li = [1,2,3,4]
li.insert(1,[99,"aaa"])
print(li)     ======>[1,[99,"aaa"],2,3,4]

#pop和remove都是删除
#pop删除指定索引的值
li = [1,2,3,4]
li.pop(索引号)  #pop默认删除最后一个
print(li)     
#remove删除指定值的元素
li = [11,22,33,44]
li.remove(22)
print(li)   ======>[11,33,44]

#reverse将当前列表进行反转
li = [11,22,33,44]
li.reverse()
print(li)   ======>[44,33,22,11]

#sort排序  默认从小到大,从大到小用reverse=True参数
 li = [1,3,5,1,2,9,7,5]
li.sort(reverse=True)
print(li)     ======>[9,7,5,5,3,2,1,1]

 元组:   类 tuple   样式:tu = (1,2,3,4)   同上,可通过tuple()进行类型转换,有序

元素不可被修改,元组不能被增加或者删除。可以进行索引取值或者切片取值。

#可以被for循环,可迭代对象
tu = (1,2,3,4)
for item in tu:
    print(item)

#tuple( )
s = "asdfasdf"
li = [1,2,3,4]
tu = (abcdefg)

v1 = tuple(li)
v2 = tuple(s)
v3 = list(tu)
print(v1,v2,v3)
============>>  (1,2,3,4,)(a,s,d,f,a,s,d,f,)[a,b,c,d,f,g]

当元组内均为字符串的时候,可利用 " ".join(元组)进行连接

tu = ("one","two","three",)
v = "".join(tu)
print(v)   ===========>> onetwothree

extend()方法可添加元素

li = ["asd","fgh"]
li.extend((12,3,4,5,))
print(li)   =======>["asd","fgh",12,3,4,5]

tuple的取值

#元组的取值
tu = (111,"alex",(11,22,),[(33,44)],Ture,33,44,)

v = tu[3][0][0]
print(v)    ======>>33

#注意元组的一级元素不可以被删除/增加/修改,二级可以
tu = (111,"alex",(11,22,),[(33,44)],Ture,33,44,)

tu[3][0] = 567
print(tu)   ======>>(111,"alex",(11,22,),[567],Ture,33,44,)

元组的两个魔法:

#count(元素)获取指定元素在元组中出现的次数
tu = ("one","two","three",)
print(count("one"))   ======>> 1

#index(元素)获取指定元素的索引值
tu = ("one","two","three",)
print(index("one"))   ======>> 0

********若想要修改元组,可通过将元组改成列表进行修改,之后再修改过来。*******

 

posted on 2019-02-09 15:58  Miracle&Hat  阅读(289)  评论(0)    收藏  举报