Python 学习日记第二篇 -- 列表,元组

一、列表

    列表是一个可以包含所以数据类型的对象的位置有序集合,它是可以改变的。

   1、列表的序列操作(Python3)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
>>> one_list = [1,2,3,4]
>>> two_list = ["jonny","jery","david"]
#统计元素数量
>>> len(one_list)
4
#索引,根据偏移量,左起从0开始,右起从-1开始
>>> one_list[0]
1
>>> one_list[-1]
4
#切片
>>> one_list[0:2]
[1, 2]
>>> one_list[:-1]
[1, 2, 3]
>>> one_list[1:]
[2, 3, 4]
#步进,默认为1
>>> one_list[::2]
[1, 3]
#扩展进来新的列表
>>> new_list = one_list + two_list
>>> print(new_list)
[1, 2, 3, 4, 'jonny''jery''david']

   

   2、列表的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#在列表中加入元素
>>> one_list.append("join")
>>> print(one_list)
[1, 2, 3, 4, 'join']
#查看元素在列表中的偏移量
>>> one_list.index('join')
4
#统计元素在列表中出现的次数
>>> one_list = [1,2,3,4,"join","jonny",3,4,2,45,32,"gg",45]
>>> one_list.count(3)
2
#在列表中指定位置插入元素
>>> one_list.insert(1,"insert_ele")
>>> print(one_list)
[1, 'insert_ele', 2, 3, 4, 'join''jonny', 3, 4, 2, 45, 32, 'gg', 45]
#移除指定元素
>>> one_list.remove("insert_ele")
>>> print(one_list)
[1, 2, 3, 4, 'join''jonny', 3, 4, 2, 45, 32, 'gg', 45]
#通过附加来自可迭代的元素扩展列表(字符串,列表,元组等)
>>> one_list.extend("extend")
>>> print(one_list)
[1, 2, 3, 4, 'join''jonny', 3, 4, 2, 45, 32, 'gg', 45, 'e''x''t''e''n''d']
#移除指定偏移量的元素,不指定则为随机移除
>>> one_list = [1,2,3,4]
>>> one_list.pop()
4
>>> one_list.pop(1)
2
>>> print(one_list)
[1, 3]
#根据ASCII码排序,python2.X系列可对所有元素排序,3.X系列只能对相同类型元素排序
Python3.6
>>> one_list = [3,6,2,8]
>>> one_list.sort()
>>> print(one_list)
[2, 3, 6, 8]
Python2.7
>>> two_list = [3,6,4,7]
>>> two_list.extend("djttdkx01")
>>> print two_list
[3, 6, 4, 7, 'd''j''t''t''d''k''x''0''1']
>>> two_list.sort()
>>> print two_list
[3, 4, 6, 7, '0''1''d''d''j''k''t''t''x']
#反转列表
>>> two_list.reverse()
>>> print two_list
['x''t''t''k''j''d''d''1''0', 7, 6, 4, 3]
#列表的复制方法一:复制第一级,对于嵌套的列表只是复制其引用位置
>>> one_list = [1,2,3,4,[5,6,7,8]]
>>> two_list = one_list[:]
>>> print(two_list)
[1, 2, 3, 4, [5, 6, 7, 8]]
>>> id(one_list)
5697352
>>> id(two_list)
50197576
#列表复制方法二:复制第一级,对于嵌套的列表只是复制其引用位置
>>> three_list = one_list.copy()
>>> print(three_list)
[1, 2, 3, 4, [5, 6, 7, 8]]
>>> id(three_list)
49960008
#列表复制方法三:copy模块的深度复制
>>> import copy
>>> four_list = copy.deepcopy(one_list)
>>> print(four_list)
[1, 2, 3, 4, [5, 6, 7, 8]]
>>> one_list[4][0] = 55
>>> print(two_list)
[1, 2, 3, 4, [55, 6, 7, 8]]
>>> print(three_list)
[1, 2, 3, 4, [55, 6, 7, 8]]
>>> print(four_list)
[1, 2, 3, 4, [5, 6, 7, 8]]


    3、列表的嵌套

1
2
3
4
5
>>> one_list = [2,3,1,7,[2,"gg","david"],87,98]
>>> one_list[4][1][1]
'g'
>>> one_list[4][2]
'david'

    

    4、列表解析

1
2
3
4
5
6
7
8
>>> one_list = [[1,2,3],[4,5,6],[7,8,9]]
>>> new_list = [row[0] for row in one_list]
>>> print(new_list)
[1, 4, 7]
>>> two_list = [row[1] % 2 for row in one_list]
>>> print(two_list)
[0, 1, 0]

   5、练习

1
2
3
4
5
6
7
8
9
10
11
12
13
'''
练习:找列表中的9替换成9999
同时找出所有的34,全删掉
'''
one_list = ["jym","alex",9,"jonny","sun",3,6,7,8,2,3,1,9,34,543,43,32,34,"gg","jids"]
print(one_list)
for in range(one_list.count(9)):
    one_list [one_list.index(9)] = 9999
for in range(one_list.count(34)):
    del one_list[one_list.index(34)]
print(one_list)

wKioL1ijNDKBMJpTAACNmLhvXlg809.png-wh_50



二、元组

   元组是不可改变的列表,编写在圆括号中,支持任意类型,任意嵌套等常见操作

   1、元组的序列操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> one_tuple = (1,2,3,4)
#统计元素个数
>>> len(one_tuple)
4
#元组附加
>>> two_tuple = one_tuple + (5,6)
>>> print(two_tuple)
(1, 2, 3, 4, 5, 6)
#索引
>>> one_tuple[0]
1
>>> one_tuple[-2]
3

   2、元组的方法

1
2
3
4
5
6
7
#查看元素在元组中的偏移量
>>> one_tuple.index(2)
1
#统计元素在元组中出现的次数
>>> one_tuple.count(2)
1

   3、元组的嵌套

    元组本身的元素是不可被修改的,但元组中嵌套的字典或列表的元素是可变的。

1
2
3
4
5
6
7
8
9
>>> t1 = (1,2,{'k1':'v1'})
>>> t1[2]['k1'] = 'v2'
>>> print(t1)
(1, 2, {'k1''v2'})
>>> t2 = (1,2,[1,2])
>>> t2[2][0] = 'new1'
>>> print(t2)
(1, 2, ['new1', 2])

   


本文转自 元婴期 51CTO博客,原文链接:http://blog.51cto.com/jiayimeng/1897851


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393088.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Gamma】PhyLab 测试报告

PhyLab Gamma测试报告 测试中发现的bug Gamma阶段新Bug Bug可能原因部分错误码设置与原先抛异常的逻辑冲突原先代码中使用了一些特殊的办法处理异常Beta未发现Bug Bug可能原因控制台新建实验编号不能以0开头后端处理编号会将其前导0去除,以数字形式存储,…

如何使用Node.js,Express和MongoDB设置GraphQL服务器

by Leonardo Maldonado莱昂纳多马尔多纳多(Leonardo Maldonado) 如何使用Node.js,Express和MongoDB设置GraphQL服务器 (How to set up a GraphQL Server using Node.js, Express & MongoDB) 从GraphQL和MongoDB开始的最直接的方法。 (The most straightforward…

leetcode954. 二倍数对数组(treemap)

给定一个长度为偶数的整数数组 A&#xff0c;只有对 A 进行重组后可以满足 “对于每个 0 < i < len(A) / 2&#xff0c;都有 A[2 * i 1] 2 * A[2 * i]” 时&#xff0c;返回 true&#xff1b;否则&#xff0c;返回 false。 示例 1&#xff1a; 输入&#xff1a;[3,1,…

linux文件内容打印成二进制,如何在二进制文件中只打印可打印字符(相当于Linux下的字符串)?...

在Python3中&#xff0c;以二进制模式打开文件会得到bytes的结果。迭代一个bytes对象可以得到0到255(包括0到255)的整数&#xff0c;而不是字符。从^{} documentation&#xff1a;While bytes literals and representations are based on ASCII text, bytes objects actually b…

1098 均分纸牌

1098 均分纸牌 2002年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description有 N 堆纸牌&#xff0c;编号分别为 1&#xff0c;2&#xff0c;…, N。每堆上有若干张&#xff0c;但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸…

轻松学习分布式|系列3|分布式数据库。

我们继续来讲分布式&#xff0c;回到我们的创业游戏。 我们的业务规模上来了&#xff0c;客户也越来越忠诚了。很多客户都通过我们的订票服务&#xff0c;来方便自己的行程。 那对这些老客户&#xff0c;我们的宗旨是&#xff1a;要不断超越客户的期待。 所以&#xff0c;我们要…

量子运算 简单通俗例子_什么是量子计算机? 用一个简单的例子解释。

量子运算 简单通俗例子by YK Sugi由YK Sugi 什么是量子计算机&#xff1f; 用一个简单的例子解释。 (What is a quantum computer? Explained with a simple example.) Hi everyone!嗨&#xff0c;大家好&#xff01; The other day, I visited D-Wave Systems in Vancouver…

linux增加端口失败,端口没被占用,怎么会bind失败呢?

今天在一个服务器上部署一个webserver的时候&#xff0c;提示我bind端口失败&#xff0c;我习惯性的用netstat看了下&#xff0c;没有被占用啊&#xff01;把问题分享出来后&#xff0c;给力的同事们搜索到了ip_local_port_range这个东西这个东西对应的是/proc/sys/net/ipv4/ip…

leetcode面试题 17.15. 最长单词

给定一组单词words&#xff0c;编写一个程序&#xff0c;找出其中的最长单词&#xff0c;且该单词由这组单词中的其他单词组合而成。若有多个长度相同的结果&#xff0c;返回其中字典序最小的一项&#xff0c;若没有符合要求的单词则返回空字符串。 示例&#xff1a; 输入&am…

Restful API 设计

1. 简介 目前 "互联网软件"从用客户端/服务端模式&#xff0c;建立在分布式体系上&#xff0c;通过互联网通讯&#xff0c;具有高延时、高开发等特点。但是软件开发和网络是两个不同的领域&#xff0c;交集很少。要使得两个融合&#xff0c;就要考虑如何在互联网环境…

sql行数少于10_如何用少于100行的代码创建生成艺术

sql行数少于10by Eric Davidson埃里克戴维森(Eric Davidson) 如何用少于100行的代码创建生成艺术 (How to Create Generative Art In Less Than 100 Lines Of Code) Generative art, like any programming topic, can be intimidating if you’ve never tried it before. I’v…

安装输入发

直接在系统 ——系统管理 ——语言支持 选——中文从新启动 sudo apt-get install scim-pinyin安装JAVA环境支持 sudo apt-get install sun-java-jre()要是 apt -get 命令不能用 可能是你 的 源有问题 可以 更新一下 在系统 &#xff0d;系统管理 源设置 选这台湾的 就可以 …

(第2篇)一篇文章教你轻松安装hadoop

摘要: 这篇文章将会手把手教你安装hadoop&#xff0c;只要你细心按照文章中的步骤操作&#xff0c;hadoop肯定能正确安装&#xff0c;绝对不会让你崩溃 博主福利 给大家赠送一套hadoop视频课程 授课老师是百度 hadoop 核心架构师 内容包括hadoop入门、hadoop生态架构以及大型ha…

linux cpio到指定目录,linux cpio命令存取归档包中的文件

功能描述使用cpio命令可以通过重定向的方式将文件进行打包备份及还原恢复&#xff0c;它可以解压缩以“.cpio”或者“.tar”结尾的文件。命令语 法cpio [选项] [目标目录]选项含义选项含义-o执行 copy-out 模式&#xff0c;建立备份档。-i执行 copy-in 模式&#xff0c;还原备份…

leetcode剑指 Offer 20. 表示数值的字符串

请实现一个函数用来判断字符串是否表示数值&#xff08;包括整数和小数&#xff09;。例如&#xff0c;字符串"100"、“5e2”、"-123"、“3.1416”、"-1E-16"、“0123"都表示数值&#xff0c;但"12e”、“1a3.14”、“1.2.3”、"…

python接口自动化2-发送post请求

前言 发送post的请求参考例子很简单&#xff0c;实际遇到的情况却是很复杂的&#xff0c;首先第一个post请求肯定是登录了&#xff0c;但登录是最难处理的。登录问题解决了&#xff0c;后面都简单了。 一、查看官方文档 1.学习一个新的模块&#xff0c;其实不用去百度什么的&am…

简介浏览器内核与JavaScript引擎

本文介绍了常用浏览器内核与JavaScript引擎 一、浏览器内核 Rending Engine, 顾名思义&#xff0c;称之为渲染网页内容的&#xff0c;将网页的代码转换为你看得见的页面&#xff0c;因为是排版&#xff0c;所以排版&#xff0c;所以肯定会有排版错误等问题。为什么会有排版错误…

Linux查看tar实用程序,linux tar指令常用选项

linux的tar指令经常被用到&#xff0c;因为压缩文件的时候通常需要打包文档&#xff0c;而tar指令就是打包指令&#xff0c;同时gzip压缩程序和bzip2压缩程序都是支持tar指令的&#xff0c;所以tar指令在打包的同时还可以用gzip和bzip进行压缩&#xff0c;这样多文件可以打包的…

代码字体mono_如何构建代码存储库:Multi,Mono或Organic?

代码字体monoby Chetan Sharma由Chetan Sharma 如何构建代码存储库&#xff1a;Multi&#xff0c;Mono或Organic&#xff1f; (How to Structure Code Repositories: Multi, Mono, or Organic?) The newest debate in town is whether you should keep your services in a si…

leetcode1424. 对角线遍历 II(排序)

给你一个列表 nums &#xff0c;里面每一个元素都是一个整数列表。请你依照下面各图的规则&#xff0c;按顺序返回 nums 中对角线上的整数。 示例 1&#xff1a; 输入&#xff1a;nums [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,4,2,7,5,3,8,6,9] 代码 class Solution …