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以后的所有元素
 
  
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本身是可变的!