网站源码客户,网站开发哪里接到单子的,云 wordpress,网站被墙了怎么办常见的数据类型 列表 在python中#xff0c;列表的创建可以是由[]两个方括号组成的。在其他语言中#xff0c;被称之为数组。 列表里可以存放一组值#xff0c;并且系统默认的给列表里的每一个元素以索引值#xff0c;方便查找和使用。 如下#xff1a; #创建一个列表列表的创建可以是由[]两个方括号组成的。在其他语言中被称之为数组。 列表里可以存放一组值并且系统默认的给列表里的每一个元素以索引值方便查找和使用。 如下 #创建一个列表并且保存一定的数据user_list [刘德华,张学友,张靓颖,郭富城,李白]print(user_list) #[刘德华, 张学友, 张靓颖, 郭富城, 李白]#根据索引值来读取数据
print(user_list[0])#刘德华 我们在实际的应用中可以非常方便的通过索引值来取出自己想要的值。 此时如果需要在列表中取出多个连续的值可以采用下面的写法 1 #创建存储了多个值得列表
2
3 start_list [刘德华,张学友,张靓颖,郭富城,李白]
4
5 #此时需要取出 张学友到郭富城
6 s_list start_list[1:4]
7
8 print(s_list) # [张学友, 张靓颖, 郭富城] 在上面的代码中在取值的时候我们使用了1:4索引值从张学友的1到李白的4但是李白却没有被选取到此时的原则是顾头不顾尾而这样的一种操作我们称之为切片 Tip在进行切片 操作后并不会改变原本的数组。 那么从左边开始取值索引值从0开始如果从右边开始取值索引值从-1开始。 如果需要从右向左取值有一点需要注意例如 #创建存储了多个值得列表start_list [刘德华,张学友,张靓颖,郭富城,李白] 想要取值从右向左李白到张靓颖写法如下 n_list start_list[-3:]print(n_list) 从右向左李白是-1 那么将-1省略要取值到张靓颖那么张靓颖的索引为-3那么就写成[-3:] 。 同理如果从左向右取值前面如果是0也是可以省略的。 追加 如果我们需要给列表里面追加一些元素可以使用append方法向列表的最后追加一些元素。 #创建一个列表
user_list [宋小宝,赵四,刘能,小沈阳]#向列表中追加元素user_list.append(赵本山)#检测原列表是否被改变
print(user_list) 输出的结果 [宋小宝, 赵四, 刘能, 小沈阳, 赵本山] 新追加的内容已经被追加到列表的最后。 如果需要将某个元素插入到某个元素之前可以使用insert方法。如下 user_list [宋小宝,赵四,刘能,小沈阳]#将添加的内容添加到赵四的前面
user_list.insert(1,赵本山)
print(user_list) 结果如下 [宋小宝, 赵本山, 赵四, 刘能, 小沈阳] 新的数据已经添加成功。 改 如果需要修改列表中的某一项可以直接通过索引值找到元素并且直接赋予新值即可。 如下: user_list[0] 二人转 删除 如果需要删除列表中的元素可以采用remove ,del 或者pop方式。 remove方法 #创建一个列表
user_list [测试1,测试2,测试3,测试4]#使用remove方式删除元素
user_list.remove(测试1)print(user_list) del方法: #创建一个列表
user_list [测试1,测试2,测试3,测试4]#使用del 方法删除
del user_list[1]print(user_list) pop方法: #创建一个列表
user_list [测试1,测试2,测试3,测试4]#使用pop方法删除
user_list.pop()print(user_list) Tip:上面的pop方法此时没有传递参数会默认的把列表中最后一个值删除当然,pop()方法中同样接受传入参数[列表的索引值]所以一旦pop传入了索引值那么它的功能效果就等同于del方法。 总结 增 使用append方法,insert方法 删除 使用remove del以及pop方法 改 直接使用索引值找到元素并且赋予新值 查 通过索引值的方式可以查询数据 我们也可以通过index方法来查询某个元素的在列表中的索引值。 如下 #创建列表
user_list [测试1,测试2,测试3]index_user user_list.index(测试2)print(index_user) # 1 在列表中如果想要查看某个元素出现的次数可以使用count方法 如下 #创建列表
user_list [测试1,测试2,测试3,测试2,测试3]# 使用count方法统计一个元素在列表中出现的次数
num user_list.count(测试2)
print(num) # 2 表示测试2 出现了两次 清空列表 python中清空列表可以使用clear方法 如下 #创建列表
user_list [测试1,测试2,测试3,测试2,测试3]
#使用clear方法清空列表
user_list.clear();
#检查列表是否被清空
print(user_list) #显示为[] 说明列表已经被成功清空了 反转列表 python中反转列表使用reverse方法 如下 #创建列表
user_list [测试1,测试2,测试3,测试2,测试3]
#使用reverse方法反转列表
user_list.reverse()
print(user_list) 排序 python中列表的排序可以使用sort方法 如下 #创建列表
list [2Ceshi2,#Ceshi1,ACeshi3,aCeshi4]list.sort()
print(list) 结果如下 [#Ceshi1, 2Ceshi2, ACeshi3, aCeshi4] 那么排序的顺序其实是按照ASCII码的顺序进行排序。 合并列表 python中列表可以进行合并使用extend方法 如下 #创建列表
list [2Ceshi2,#Ceshi1,ACeshi3,aCeshi4]
#创建第二个列表
test_list [1,2,3,4]
#将第二个列表合并到list列表中
list.extend(test_list)print(list,test_list) 上述代码中test_list 顺利的被合并到list中而原本的test_list列表依然存在。 删除整个列表 如下 del 列表的名字 复制 python中实现列表的复制可以使用copy方法而copy方法分为深层复制和浅层复制。 先来看下浅层复制 1 2 copy()方法 复制3 4 浅层复制5 6 列表中还可以存在列表也可以存在其他的数据类型而浅层复制指的是仅复制第一层而第二层列表7 中的内容仅复制指向内存地址的指针8 9
10 # 创建一个列表
11 test_list [alex,LiBai,Zhangxueyou,Zhaosi]
12
13 test2 test_list.copy()
14
15 print(test2) #[alex, LiBai, Zhangxueyou, Zhaosi]
16
17 # 更改第一层列表中的某个元素值
18 test_list[0] hello,world
19
20 # 检查是否更改成功
21 print(test_list) # 成功
22
23 #检查test2是否更改第一个元素
24 print(test2) # 第二个列表没有更改 此时在上面的代码中列表test_list第一个值进行了更改而test2列表复制过来的第一个值则没有更改。 如果列表test_list中还存在一个列表在浅层复制的情况下会出现如下的情况: # 创建一个列表 - 并且列表中存在二级的列表
test_list [alex,LiBai,Zhangxueyou,Zhaosi,[Nihao,yanyan]]test2 test_list.copy() # 第一个列表已经全部被复制了过来# 更改第一个列表中子集列表的值
test_list[4][0] [NIHAO]# 查看test2列表是否更改
print(test2) 发现此时test2列表已经更改 [alex, LiBai, Zhangxueyou, Zhaosi, [[NIHAO], yanyan]] 原因是此时的复制是浅层复制只复制到了第一层第二层里面的列表并没有进行复制只是复制了一个指向内存方向的指针。 深层复制需要引入copy模块 代码如下 import copy# 创建列表
list_user [alex,libai,zhaobenshan,[yanyan,yuping]]# 进行深层复制
new_list copy.deepcopy(list_user)#print(new_list) # 复制成功# 更改第一组列表
list_user[3][0] YANYANprint(list_user)
print(new_list) 通过引入copy模块并且使用deepcopy方法即可实现深层复制 循环列表 列表的循环使用for..in 即可。 代码如下 # 创建列表
test_list [alex,libai,shaopengtao,wangmengchan]for i in test_list:print(i) # 循环成功 补充代码切片 我们在打印列表的时候可以使用切片的方式例如 test_list [alex,libai,shaopengtao,wangmengchan] 有这样的一个列表然后现在想将列表0到-1的位置进行切片 print(0:-1) 那么此时如果想要在切片的基础上进行每两个选取一个代码可以写成如下 print(0:-1:2) 那么最终实现的效果如下 [alex, shaopengtao] 那么在切片的过程中如果开始或者结束的位置是0或者-1是可以被省略的所以上面的代码就变成了如下 print(::2) 结果同样是不变的。 知识点补充和总结 上面我们说到浅层复制的使用其实在实际应用的情景下大概有三种方式可以实现浅层复制例如下面的演示代码将演示三种浅层复制的情况 1 import copy2 # 创建列表3 test_list [name,[deposit,100]]4 5 6 实现浅层复制的三种写法7 8 copy方法9 [:]
10 list
11
12
13 # 第一种方式使用copy.copy
14 new_list copy.copy(test_list)
15 print(new_list)
16
17
18 #第二种方式
19 new_list test_list[:]
20 print(new_list)
21
22
23 #第三种方式
24 new_list list(test_list)
25 print(new_list) 浅层复制的应用 例如夫妻之间有一个共同的银行账户里面有着共同的财产其中一个人取钱或者存钱那么另一放的余额显示肯定是要更改的。 代码如下 # 创建列表演示夫妻共用一个银行账户的需求money [name,[deposit,2000]]# 创建两个不同的人
libai money[:]
yanyan money[:]#此时当丈夫libai 取了1000块
libai[0] LiBai
libai[1][1] 2000 - 1000yanyan[0] Yanyan# 此时无论是丈夫libai还是妻子yanyan的银行存款余额都会变少因为二人共用一个账户
print(libai)
print(yanyan) 说的简单点就是通过浅层复制来实现共享账号,当然上面的应用只是简单的举个例子在实际中银行也不会将数据存储在列表中。 元组tuple 元组其实类似于列表也就是存一组数只不过它一旦创建便不能再次修改所以又叫做只读列表。 元组本身只能切片和查询但是不能够更改。 代码如下 names (Alex,Libai,Jack) 在元组这个对象里面只有两个方法一个是count一个是index。 小练习购物车 需求 代码如下 1 #!/usr/bin/env python2 # -*- coding: utf-8 -*-3 # Author:Li Bai4 5 # 创建列表6 product_list [7 (Iphone,5800),8 (Mac Pro,9800),9 (Bike,800),
10 (Watch,10600),
11 (Coffee,31),
12 ]
13
14 # 创建一个空列表用来存储用户购买的商品
15 shopping_list []
16
17 salary input(Input your Salary:)
18 # 判断用户输入的是否是数字
19 if salary.isdigit():
20 # 将用户输入的转换为int整型
21 salary int(salary)
22 # 循环输出列表
23 while True:
24 # 输出商品列表中的内容和索引值
25 for index,item in enumerate(product_list):
26 # 输出
27 print(index,item)
28 user_choice input(你好请输入购买的商品序号:)
29 # 判断用户输入的是否为序号数字
30 if user_choice.isdigit():
31 user_choice int(user_choice)
32 # 判断用户输入的商品序号是否是合理的
33 if user_choice len(product_list) and user_choice 0:
34 print(user_choice)
35 p_item product_list[user_choice]
36 # 判断用户的财产是否足够
37 if p_item[1] salary: # 买的起
38 shopping_list.append(p_item) # 将用户选取的商品存进shopp_list列表
39 salary -p_item[1] # 将财产减去购买的商品列表
40 # 打印财产余额
41 print(Add %s into shopping cart ,your current balance is %s %(p_item,salary))
42 else :
43 print(你的余额只剩%s,余额不足% salary)
44 else :
45 print(product code [%s] is not exist!% user_choice)
46 elif user_choice q:
47 print(--------shopping list------)
48 for p in shopping_list:
49 print(p)
50 print(Your current balance:,salary)
51 exit()
52 else:
53 print(invalid option) 转载于:https://www.cnblogs.com/yujihaia/p/7468267.html