python中list和tuple的用法及区别,python分别把string,list,tuple,dict写入文件中
Python介绍(三)——list与tuple、条件判断与循环、dict与set_刘某人的程序员技术博客_博客
python入门(三)——list和tuple,条件判断和循环,dict和set OK,我们继续学习Python。这次说的是容器,也就是list,可以表达如下。
一、liststudent=[张三,李四,吴王]
打印学生
打印 length is:,len(student)以便我们可以看看输出内容。
我们可以看到打印出来的内容,它的长度是3,也就是有三个子集。python中的列表和java中的数组是一样的,但是它可以随时被索引和添加或删除。让我们看一看。
学生=[张三,李四,吴王]
打印学生[0]
打印学生[1]
打印学生[2]
Print student[3]从this的表达式可以看出,list也是从0开始的,所以这个下标3应该是不存在的。如果Java中数组越界了,python怎么办?让我们看一看。
从输出结果可以看出,他报告了一个IndexError错误,类似于数组越界。
在python中,如果想得到最后一个元素,有两种方法。让我们来看看。
打印学生[len(student) - 1]
Print student[-1]我们可以有-1的长度,也可以有-1的直接长度,而且上面说了,列表可以增删,我们来看看。
student.append(“刘璃”)
打印学生这是添加的操作,我们输出它。
可以看到,我们每次添加的时候,都会默认在末尾。当然,它是一个灵活的容器,我们可以通过索引来插入它。
student.insert(1,“刘璃”)
Print student的意思是我在1的位置插入这个元素来索引输出内容。
既然如此,我们还是要删除它。让我们来看一段代码。
student.insert(1,“刘璃”)
#删除结尾
学生. pop()
#删除第一个
学生. pop(0)
从这段代码中我们可以看到,删除最后一个可以直接调用函数pop。如果需要指定删除,只需添加索引即可。这个很好理解。
如果你想替换一个元素,直接赋值就可以了。
学生[0]=你好
打印student以便替换第一个元素。
这些看起来和Java没什么区别。让我们来看看区别。在python中,list可以保存不同的数据类型,例如:
test=[张三,1,22,真,[李四,123,88,假]]
测试可以发现,这是惊人的,因为它可以包含许多元素,甚至列表。如果你想得到列表中的列表,我们可以这样做和那样做。
打印[4] [0]这样可以得到李四。
2.tupletuple和list很像,但是他一旦确定了元素,就无法更改了。所有这些都非常类似于Java数组。他不增删功能,因为他不改,所以安全性高。
tuple的陷阱:当你定义一个tuple的时候,tuple的元素必须在定义的时候确定,比如:
测试=(1,2,3)
打印测试如果你想定义一个空元组,就这样。
测试=()
打印测试,我们可以定义元组的元素。
测试=(5,)
打印测试,添加一个逗号来区分元素和长度。如果去掉这个逗号,我们就表示这是一个元素,这个元素是5。
如果你想让他多变,只要他的元素是列表。
t=(a , B ,[A , B])
t[2][0]=x
t[2][1]=y
事实上,他还是老样子,但是名单变了。
三。条件判断条件判断,我们先来看if语句。
如果年龄为20岁:
打印成人
否则:
打印 minors OK,这个代码很简单。它输出的是未成年人,但是现在有多个判断条件怎么办?
年龄=38岁
如果50岁20岁:
打印“中年人”
elif年龄=18岁:
打印“青少年”
elif年龄50岁:
打印“老年人”
否则:
印刷‘儿童’我们也可以,他的原则是
如果判断1:
1执行
Elif条件判断2:
2执行
Elif条件判断3:
3执行
否则:
4 4 4.Loop Python有两个循环,一个是for…in循环,依次迭代出列表或元组中的每个元素。参见示例:
Names=[张三,李四,王五]
对于名称中的名称:
打印姓名,以便您可以遍历它。
所以for x in …循环就是把每个元素代入变量x,然后执行缩进块的语句。
例如,如果我们想计算从1到10的整数之和,我们可以使用sum变量进行累加:
总和=0
对于[1,2,3,4,5,6,7,8,9,10]中的x:
总和=总和x
打印sum,这样我们总共可以输出55。
如果要计算1到100的整数之和,从1到100写起来有点难。幸运的是,Python提供了一个range()函数,可以生成一个整数序列。例如,range(5)生成的序列是从0开始小于5的整数,即0-4。如果现在算100,应该是range(101)。
总和=0
对于范围(101)中的x:
总和=总和x
打印sum,我们可以输出sum 5050。
第二种循环是while loop,只要满足条件就一直循环,不满足条件就退出循环。比如我们想计算100以内所有奇数的和,可以通过while循环来实现:
总和=0
n=99
而n 0:
总和=总和
n=n - 2
打印总数可计算为2500。
而一般的计算问题会结合输入做一些处理,比如
生日=raw_input(请输入您的生日:\n )
如果生日2000年:
打印“00后的00”
否则:
打印“你不是老司机。”猜猜如果我输入1995我会输出什么?
是不是很奇怪?为什么00后95后不到2000?应该是输出。你不是老司机。
先查一下原因,再加个印。
生日=raw_input(请输入您的生日:\n )
打印生日
打印生日2000
如果生日2000年:
打印“00后的00”
否则:
打印‘你不是老司机’。再看输出。
你会发现他返回真。为什么,托尼?其实仔细想想,这个1995其实就是一个字符串,因为我们在raw_inpt里面输入的都是字符串。如果要计算整数,需要做强旋转,比如这样。
生日=int(raw_input(请输入你的生日:\n ))
打印生日
打印生日2000
如果生日2000年:
打印“00后的00”
否则:
打印‘你不是老司机’。好了
动词(verb的缩写)dictdict的意思是字典,但在其他语言中,一般是map,因为它是以键值对的形式设置的。我们来看看他的文笔,用学生和分数来做:
D={ 张三:59,李四:100,王五:88}
#我想知道李四的分数
D [Li Si]键值对在大括号中。如果要索引,需要用他的钥匙。
当然,dict也可以更改,例如
d={ 张三:59,李四:100,吴王:88}
d[lisi]=50
d这样,我们来看看输出
你没有看错。李四的分数被改了。如果键不存在,它将给出一个错误KeyError。为了避免这种情况,我们可以使用in来判断密钥是否存在。
他返回的是一个布尔值。
Dict还提供了一个get方法供我们查询。
Print d.get(张三)要删除一个键,只需调用pop(key)即可
与list相比,dict有以下特点:
并且搜索和插入的速度极快,不会随着key的增加而增加;占用大量内存,浪费大量内存。相反,列出:
搜索和插入时间随着元素的增加而增加;它几乎不占用空间,也不浪费内存。所以,dict是一种用空间换时间的方式。
不及物动词setset类似于dict,也是一组键,但是不存储值。因为键不能重复,所以集合中没有重复的键。
要创建集合,您需要提供一个列表作为输入集合:
s=集合([1,2,3])
这里打印,需要注意的是,我们传入的是一个列表,输出的不是列表,而是有三个元素:1,2,3。
并设置有自动过滤功能。让我们看一看。
s=集合([1,2,3,2,3,3,3,5,2])
打印,这里的输出非常有趣
可以看到,重复的元素被过滤掉了,也就是说集合不允许重复键,集合支持添加和删除。
Add(key)remove(key)集合在数学意义上可以看作是一组无序的、不重复的元素的集合。所以两个集合可以做数学意义上的交、并等运算,他就是这么做的。
s1=集合([1,2,3])
s2=集合([2,3,4])
s1 s2
集合([2,3])
s1 s2
Set ([1,2,3,4])set和dict唯一的区别就是没有存储相应的值。但是set的原理和dict是一样的。所以也不能放可变对象,因为无法判断两个可变对象是否相等,也不能保证集合内部不会出现“重复元素”。尝试将列表放入集合中,看看它是否会报告错误。
最后说一些小知识,比如列表的排序。
a=[a , c , b]
排序()
b=[1,2,3]
排序()
打印一份
b,只看他们的产量。
好了,今天python就讲到这里。我们可以发现,几乎所有最基础的东西,我们都学会了。我们将在下一篇文章中开始理解函数。
原创作品来自的程序员博主刘某人,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。