Python3快速入门——(2)list和tuple(列表和元组)
1、List基础结构 #python中数据类型转换 str_eight= str (8) #整型8装换位字符型'8' str_eight_two="8" int_eight= int (str_eight_two) #字符型转换为整型 float_eight=float(str_eight_two) #字符型转换为浮点型 #python 中的运算符**表示指数 china=10 print(china**2) #结果为100 #List months=[] #声明months为list类型 print(type(months)) #<class 'list'> print(months) #[] 此时list为空 months. append ("January") #向list中添加元素(字符串) months.append("February") months.append(2) #向list中添加元素(整型)向同一个list中可以添加不同类型的元素 print(months) #输出list 结果为:['January', 'February', 2] 2、List索引 int_months=[1,2,3,4,5,6,7,8,9,10,11,12] #声明一个list length= len (int_months) #获取list的长度即有多少个元素 month1=int_months[0] #获取list中的第一个元素,每个list索引是默认从0开始的 month2=int_months[1] #获取list中的第二个元素 index=len(int_months)-1 #获取list最后一个元素的索引 last_value=int_months[index] #获取list最后一个元素 last_value1=int_months[-1] #索引-1代表最后一个元素的索引,-2代表倒数第二个元素的索引 #获取list中的某段元素(切片操作) months=["Jan","Feb","Mar","Apr","May","Jun","Jul"] two_four=months [2:4] #获取索引为2,3的值,不包括索引4的值(取头不取尾),注意索引是从0开始的,输出结果为["Mar","Apr"] three_six=months [3:] #获取索引3以后的所有元素 ['Apr', 'May', 'Jun', 'Jul'] months=[ "Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" ] b=months[: 5:2 ] #取前5个元素,每两个取一个 print (b) #结果为['Jan', 'Mar', 'May'] b=months[:: 3 ] #对所有元素,每三个取一个 ;#结果为['Jan', 'Apr', 'Jul'] #字符串也可以用切片操作,只是操作结果仍是字符串 #tuple也可以用切片操作,只是操作的结果仍是tuple 3、list和tuple(列表和元组) list和tuple是Python内置的有序集合,一个可变,一个不可变 #list 列表 classmates=[ "Bob" , "Jim" , "Mar" , "Asia" , "Kry" ] classmates.append( "Bill" ) #往list中追加元素到末尾 classmates.insert( 1 , "Aut" ) #把元素插入到指定的位置,比如索引号为1的位置 classmates.pop() #要删除list末尾的元素,用pop()方法 classmates.pop( 1 ) #要删除指定位置的元素,用pop(i)方法,其中i是索引位置 classmates[ 1 ]= "Git" #要把某个元素替换成别的元素,可以直接赋值给对应的索引位置 #tuple 元组 names=( "Bob" , "Jim" ,[ "Mar" , "Asia" ], "Kry" ) #声明一个元组 #names这个tuple不能变,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的 #可以正常地使用names[0],names[-1],但不能赋值成另外的元素 #当定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来,可以为空names=() names[ 2 ][ 0 ]= "X" names[ 2 ][ 1 ]= "Y" print (names) # 结果为('Bob', 'Jim', ['X', 'Y'], 'Kry') #表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。 # tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!