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本身是可变的!