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