数据类型(列表元组详解)

列表:存储一些数据的容器(有序,可修改)-----常用 *******

元组:存储一些数据的容器(有序,不可修改)

一、列表常用功能:

1.追加,在原列表中尾部追加值

datalist = []

v1 = input("请输入爱好1")

datalist.append(v1)

v2 = input("请输入爱好2")

datalist.append(v2)

print(datalist)  #["篮球","足球"]


# 案例
user_list = []

while True:
    user = input("请输入用户名(Q退出):")
    if user == "Q":
        break
    user_list.append(user)
    
print(user_list) 

2.批量追加,将一个列表中的元素逐一添加另外一个列表。

tools = ["你好","再见","开始"]

weapon = ["失之","得之"]

tools.extend(wweapon)    #将weapon中的值逐一加入到tools里
print(tools)    #["你好","再见","开始","失之","得之"]


weapon.extend(tools)    #将tools中的值逐一加入到weapon里
print(weapon)     #["失之","得之","你好","再见","开始"]

3.在原列表的指定索引位置插入值

user_list = ["李浩","理想","蔚来"]

user_list.insert(0,"王涛")


# 案例
name_list = []
while True:
    name = input("请输入购买火车票用户姓名(Q/q退出):")
    if name.upper() == "Q":
        break
    if name.startswith("刁"):
        name_list.insert(0, name)
    else:
        name_list.append(name)
print(name_list)

4.在原列表中根据值删除(从左到右找到第一个删除,慎用,找不到会报错)

user_list = ["王宝强","陈羽凡","Alex","贾乃亮","Alex"]
user_list.remove("Alex")
print(user_list)


user_list = ["王宝强","陈羽凡","Alex","贾乃亮","Alex"]
#可以先做一个判断,防止报错
if "Alex" in user_list:
	user_list.remove("Alex")
print(user_list)


user_list = ["王宝强","陈羽凡","Alex","贾乃亮","Alex"]
while True:
    if "Alex" in user_list:
        user_list.remove("Alex")
	else:
        break
print(user_list)

5.在原列表中根据索引提出某个元素(根据索引位置删除)

user_list = ["王宝强","陈羽凡","Alex","贾乃亮","Alex"]
#               0       1      2      3       4
user_list.pop(1)
print(user_list) #  ["王宝强","Alex","贾乃亮","Alex"]

user_list.pop()
print(user_list) # ["王宝强","Alex","贾乃亮"]

item = user_list.pop(1)
print(item) # "Alex"
print(user_list) # ["王宝强","贾乃亮"]



# 案例:排队买火车票

# ["alex","李杰","eric","武沛齐","老妖","肝胆"]
user_queue = []

while True:
    name = input("北京~上海火车票,购买请输入姓名排队(Q退出):")
    if name == "Q":
        break
    user_queue.append(name)

ticket_count = 3
for i in range(ticket_count):
    username = user_queue.pop(0)
    message = "恭喜{},购买火车票成功。".format(username)
    print(message)

# user_queue = ["武沛齐","老妖","肝胆"]
faild_user = "、".join(user_queue) # "武沛齐、老妖、肝胆"
faild_message = "非常抱歉,票已售完,以下几位用户请选择其他出行方式,名单:{}。".format(faild_user)
print(faild_message)

6.清空原列表

user_list = ["王宝强","陈羽凡","Alex","贾乃亮","Alex"]
user_list.clear()
print(user_list) # []

7.根据值获取索引(从左到右找到第一个删除,慎用,找不到会报错)

user_list = ["王宝强","陈羽凡","Alex","贾乃亮","Alex"]
#               0       1      2       3      4
if "Alex" in user_list:
	index = user_list.index("Alex")
	print(index) # 2
else:
    print("不存在")

8.列表元素排序(注意:排序时内部元素无法比较时,程序会报错)

# 数字排序
num_list = [11, 22, 4, 5, 11, 99, 88]
print(num_list)
num_list.sort()  # 让num_list从小到大排序
num_list.sort(reverse=True)  # # 让num_list从大到小排序
print(num_list)


# 字符串排序
user_list = ["王宝强", "Ab陈羽凡", "Alex", "贾乃亮", "贾乃", "1"]
#       [29579, 23453, 24378]
#       [65, 98, 38472, 32701, 20961]
#       [65, 108, 101, 120]
#       [49]
print(user_list)
"""
sort的排序原理
    [ "x x x" ," x x x x x " ]
"""
user_list.sort()
print(user_list)

9.反转原列表

user_list = ["王宝强","陈羽凡","Alex","贾乃亮","Alex"]
user_list.reverse()

print(user_list)

10列表属于容器,内部可以存放各种数据,所以他支持列表的嵌套

data = [ "谢广坤",["海燕","赵本山"],True,[11,22,[999,123],33,44],"宋小宝" ]

二、元组(都是一些公共的功能,列表同样也有这些功能)

1.相加,两个列表相加获取生成一个新的列表。

2.相乘,列表*整型 将列表中的元素再创建N份并生成一个新的列表。

3.获取长度(len)

4.索引、切片、步长

5.for循环

6.其他类型转换为元组,使用tuple(其他类型),目前只有字符串和列表可以转换为元组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值