目录
一.列表
在Python中没有数组,可以使用列表代替。列表是一组有序项目的数据结构。创建后,可以访问、修改、删除列表中的元素。
1.创建列表:
#创建空列表
l1 = []
#创建带一个元素的列表
l2 = [1]
#创建带不同类型元素的列表
l3 = ["a","b",123]
print(l1,l2,l3)
2. 使用list对象创建列表对象及输入
#list对象创建空列表
l1 = list()
#list对象创建带元素的列表
l2 = list("abc")
l3 = list(range(3))
print(l1, l2, l3)
可以使用append、insert、extend函数对列表插入
a =[1,2,3,5,6,7,8]
#append可向列表表尾添加元素
a.append(9)
print(a)
#insert可在指定索引位置插入数据
a.insert(3,4)
print(a)
temp=[10]
#extend可将另一个完整列表追加到列表之后
a.extend(temp)
print(a)
输出结果
[1, 2, 3, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
3.列表的切片
切片可以访问一定范围内的元素,生成一个新的序列。
#导入随机数
import random
#创建一个包含20个元素,元素范围在1-100之间
list1 = [random.randint(1,100)for i in range(20)]
#[0::2]表示从下标为0的元素开始,步长为2
list1[0::2] = sorted(list1[0::2],reverse = True)
print(list1)
打印结果,切片偶数,按倒叙排列
[87, 21, 83, 40, 67, 80, 65, 21, 45, 80, 37, 22, 33, 86, 29, 25, 21, 67, 4, 30]
a = [87, 20, 83, 40, 67, 81, 65, 21, 45, 80, 37, 22, 33, 86, 29, 25, 19, 67, 4, 30]
#[:10]表示从第1个元素到第十个元素切片出来
m = a[:10]
m.sort()
a[:10] = m
#[10:]表示从第11个元素到最后一个元素切片
n=a[10:]
n.sort(reverse=True)
a[10:]=n
print(a)
打印结果,前十个数升序排列,后十个数倒序排列
[20, 21, 40, 45, 65, 67, 80, 81, 83, 87, 86, 67, 37, 33, 30, 29, 25, 22, 19, 4]
4.列表的排序
import random
#创建一个20个数的随机列表
a = [random.randint(1,100)for i in range(20)]
m = a[:10]
#sort函数为升序排列
m.sort()
a[:10] = m
n=a[10:]
#sort(reverse=True)为倒叙排列
n.sort(reverse=True)
a[10:]=n
print(a)
[1, 2, 7, 12, 25, 27, 44, 52, 62, 91, 95, 94, 90, 85, 80, 70, 51, 50, 32, 17]
二、元组
元组(Tuple)与列表类似,但元组内的元素不可改变。
用[]定义
1.创建一个元组
tuple1 = ("zhangsan",18,1.75)
空元组的创建
tuple2 = ()
如果元组内仅包含一个元素,需要在元素后面添加,
tuple2 = (1,)
2.元组的常用操作及与列表间的转换
tuple1 = ("zhangsan",18,1.75)
#取值和取索引
print(tuple1[0])
print(tuple1.index(18))
#统计计数
print(tuple1.count(18))
#统计元组中元素的个数
print(len(tuple1))
zhangsan
1
1
3
如果想对元组的元素进行操作,可先转换成列表,操作完在转换成元组
import random
a = tuple(random.randint(10,99)for i in range(20))
#将a转换成列表
b = list(a)
m = b[:10]
m.sort()
b[:10]=m
n=b[10:]
n.sort(reverse=True)
b[10:]=n
再将b转换成元组进行输出
c=tuple(b)
print(b)
[12, 16, 19, 20, 35, 61, 65, 66, 66, 99, 93, 93, 88, 86, 82, 56, 43, 39, 24, 19]
三、字典
字典是除列表以外Python中最灵活的数据类型,可以用来存储多个数据,字典是一组无序的对象集合。用{}定义,字典使用键值对存储数据,键值对之间使用,分割。
1.定义一个字典并输出和循环遍历
xiaoming = {"name":"xiaoming",
"qq":12345,
"phone":122}
#输出
print(xiaoming)
#循环遍历输出
for w in xiaoming:
print(w,xiaoming[w])
{'name': 'xiaoming', 'qq': 12345, 'phone': 122}
name xiaoming
qq 12345
phone 122
2.字典的增删改查
xiaoming = {"name":"xiaoming"}
#1.取值
print(xiaoming["name"])
#2.增加/修改
#如果key不存在,会增加键值对
xiaoming["age"] = 18
print(xiaoming)
#如果key存在,则修改存在的键值对
xiaoming["name"] = "小明"
print(xiaoming)
#3.删除
xiaoming.pop("age")
print(xiaoming)
xiaoming
{'name': 'xiaoming', 'age': 18}
{'name': '小明', 'age': 18}
{'name': '小明'}
3.字典的统计、合并、清空
ming_dict = {"name":"xiaoming","age":18}
#获取字典的长度(元素个数)
print(len(ming_dict))
#合并两个字典
temp_dict = {"height":1.75,
"age":20}
#tips:若被合并的字典中包含已经存在的键值对,会覆盖原有键值对
# 若不存在,则取并集
ming_dict.update(temp_dict)
print(ming_dict)
#清除字典中的元素
ming_dict.clear()
print(ming_dict)
4.字典的zip函数
keys = ['a','b','c','d']
values = [1,2,3,4]
dictionary = dict(zip(keys,values))
print(dictionary)
{'a': 1, 'b': 2, 'c': 3, 'd': 4}