SamZhou-2019.github.io

View on GitHub

简单的数据结构

1.定义列表

列表用方括号[]表示

example=["a","b","c","d"]

print(list)直接输出这个列表,包括方括号

print(example)

print(list[num])输出列表各项(编号从零开始)

print(example[0])
print(example[2].upper())

编号前加负号-表示倒数计数,-1表示最后一个

print(example[-2])

实例

print("noise:\t"+str(30)+example[4-1]+example[+1].title())
message=example[0].upper()+" is the first letter".title()+"."
print(message)

2.列表的简单操作

实例

a=['0th','1st','2nd','3th','4th','5th','6th']
print(a)

列表切片(注意冒号:)

list[num1:num2]

num1起始值,留空表示从头开始

num2末尾值(不包括num2),留空表示到数列末尾终止

num1,num2也可以用负数

print(a[0:3])
print(a[2:5])
print(a[:4])
print(a[2:])
print(a[-3:])
print(a[:-2])
print(a[-5:-2])

复制列表(注意要使用切片)

b=a[:]
print(b) 
a.append('abc')
b.append('opq')
print(a)
print(b)

结果:a和b分别添加了abc和opq

传递列表地址(不使用切片)

a=['0th','1st','2nd','3th','4th','5th','6th']
b=a
print(b)
a.append('abc')
b.append('opq')
print(a)
print(b)

结果:a和b同时添加了abc和opq

3.编辑列表

list=["aaa","bbb","ccc"]

通过赋值改变元素

list[1]="ddd"
print(list)

.append(“str”)在列表末尾添加元素

list.append("bbb")
list.append("eee")
print(list)

.insert(num,”str”)在指定位置插入元素

list.insert(0,"qqq")
list.insert(2,"ppp")
print(list)

del list[num]删除指定位置的元素

.pop(num)返回并删除指定位置的元素

del list[2]
del list[5]
print(list)

.pop()返回并删除末尾元素

pop_1=list.pop()
print(list)
print(pop_1)

.pop()返回并删除末尾元素

pop_2=list.pop(2)
print(list)
print(pop_2)

.remove(“str”)删除列表中的值str

list.remove("aaa")
print(list)

.clear()清空列表

list.clear()
print(list)

.count() 统计某元素出现的次数

list=['aaa','aaa','aaa']
print(list.count('aaa'))

.extend(list) 追加列表

list.extend(['bbb','bbb'])
print(list)

tuple()将列表转换成元组

4.列表排序

list=["car","ant","get","ban","dog","boy","toy","mat","fab"]

.sort()列表永久性排序

list.sort()
print(list)

.sort(reverse=True)列表永久性反向排序

list.sort(reverse=True)
print(list)

sorted(list)列表临时性排序

print(sorted(list))
print(sorted(list,reverse=True))

.reverse()反转列表

list.reverse()
print(list)

len(list)获取列表长度

a=len(list)
print(a)

5.遍历列表

name=['zero','one','two']

遍历列表——for循环

程序编译时会定义for和in之间的变量为字符串变量

被遍历列表在in之后

for namex in name:#注意冒号  :
	print(namex)#循环部分缩进,未缩进代码不参与循环
print(namex)#namex指向最后一项
for namex in name:
        print(namex.upper()+' 是一个数字。')

6.列表迭代器

list=[1,2,3,]
i=iter(list)
print(next(i))
print(next(i))
print(next(i))
print(type(i))
print(next(i))

迭代至尾部时继续运行next(i) 会报错:StopIteration

7.#集合:不包含重复项的列表

o_o={'a','s','d','f','d','s','a','d','s'}
print(o_o)

.add(str)向集合中添加元素

o_o.add('k')
print(o_o)

.clear清空集合,集合成为set()

o_o.clear()
print(o_o)

8.元组(用小括号表示)数据不可更改

square=(20,30)
for length in square:
      print(length)
s=square[0]*square[1]
print(s)

print(type(square))  

尝试修改数据时会出现错误

#square[0]=40

返回上一页