Python 编程语言中有四种组合数据类型:
列表(List)是一种有序和可更改的集合,列表用方括号标识[],允许重复的成员。
(资料图)
元组(Tuple)是一种有序且不可更改的集合,元组用小括号标识(),允许重复的成员。
集合(Set)是一个无序和无索引的集合,集合用大括号标识{},没有重复的成员。
词典(Dictionary)是一个无序,可变和有索引的集合,词典用大括号标识{},没有重复的成员。
其中有序就是可以通过下标访问数据,有索引就是可以通过索引值来访问数据。
列表List
列表是用于存储一组数据的结构,用方括号括起来、逗号分隔的数据类型。每个数据都分配一个数字标识它的位置,称为下标或索引,第一个下标是0,第二个下标是1;下标也可以为负数,-1表示倒数第一个元素的索引,-2表示倒数第2个元素的索引。列表的元素可以是任何类型的,但使用时通常各个元素的类型是相同的。列表(List)操作方法包含创建、访问、删除、排序、切片,乘等操作方法。
list_a = ['a', 'b', 3, ] #创建一个含有四个元素的列表
print(list_a) #显示list_a['a', 'b', 3, ]
print(list_a[0]) #显示字符‘a’
print(list_a[-4]) #显示字符‘a’
list_a[-4]=102249 #修改list_a[-4] 的值为102249
print(list_a) #显示list_a[102249, 'b', 3, ]
#显示列表list_a的所有元素 102249 b 3
for _ in list_a:
print(_,end=" ")
print()
list_b = [1,3,1,4]
list_c = [] #空列表
list_c = list_a + list_b #连接两个列表
print(list_c) #显示list_c [102249, 'b', 3, , 1, 3, 1, 4]
print(list_b) #显示list_b [1, 3, 1, 4]
del list_b[0] #删除list_b[0]
print(list_b,list_b[0]) #显示list_b,list_b[0] [3, 1, 4] 3
del list_b #删除list_b
list_c = list_a * 2 #重复list_a元素2次
print(list_c) #显示list_c [102249, 'b', 3, , 102249, 'b', 3, ]
运行结果如下:
['a', 'b', 3, ]
a
a
[102249, 'b', 3, ]
102249 b 3
[102249, 'b', 3, , 1, 3, 1, 4]
[1, 3, 1, 4]
[3, 1, 4] 3
[102249, 'b', 3, , 102249, 'b', 3, ]
list内置函数
内置函数 描述
len() 计算列表的长度,即计算列表元素的个数
max() 返回列表元素中的最大值,列表元素必须是同一类型且可比较。
min() 返回列表元素中的最小值,列表元素必须是同一类型且可比较。
sum() 计算列表所有元素的和,其元素类型必须是数值型的(整数、浮点数)
sorted() 返回一个排序的列表,但并不改变原列表。
list() 生成一个空列表,或把其它类型数据转换成list。
any() 只要列表中有一个元素是True就返回True。
all() 只有列表所有元素为True才返回True。
函数是一系列语句的集合,调用后可以返回一个或一些值。可以给它传递0个或多个参数,这些参数可能被用于函数内部的执行过程。方法就是定义在类内部的函数,方法是与某个对象关联的。方法的调用方法就是在对象后面加 点.,再加方法名称,我怀疑你没看到我在点字后面写的.,所以我再多写几个.........。就是这样的......................................小点点们。让我想起花园宝宝中的小点点,还有小豆豆,我也不知道哪个是小点点,哪个是小豆豆。刚才找小点点小豆豆图的时候还看了一集 In the Night Garden。
讲列表编程前看个例子吧,不是看,是你自己做,阅读理解来了!
最大的麦穗(小学课文)
古希腊有一位大学者,名叫苏格拉底。一天,他带领几个弟子来到一块麦地边。地里满是沉甸甸的麦穗。苏格拉底对弟子们说“你们要去地里挑一个最大的麦穗,只许进不许退,我在麦地的尽头等你们。”
弟子们听懂了老师的要求后,就走进了麦地。
地里到处都是大麦穗,哪一个才是最大的呢?弟子们埋头向前走。看看这一株,摇了摇头;看看那一株,又摇了摇头。他们总认为最大的那一穗还在前面呢。虽然,弟子们也试着摘了几穗,但并不满意,便随手扔掉了。他们总以为机会还很多,完全没有必要过早地定夺。
弟子们一边低着头往前走,一边用心地挑挑拣拣,经过了很长一段时间。
突然,大家听到了苏格拉底苍老的如同洪钟一般的声音:“你们已经到头了。”这时,两手空空的弟子们才如梦初醒,他们回头望了望麦垄,无数株小麦摇晃着脑袋,似乎在为他们惋惜。
苏格拉底对弟子们说:“这块麦地里肯定有一穗是最大的,但你们未必能碰见它;即使碰见了,也未必能作出准确的判断。因此最大的一穗就是你们刚刚摘下的。”
苏格拉底的弟子们听了老师的话,悟出了这样一个道理:人的一生仿佛也在麦地中行走,也在寻找那最大的一穗。有的人见到了颗粒饱满的“麦穗”,就不失时机地摘下它;有的人则东张西望,一再地错失良机。当然,追求应该是最大的,但把眼前的一穗拿在手中,这才是实实在在的。
我们要做的就是模仿上面的事件,找到最大的麦穗。首先输入麦穗数量比如100,然后输入每个麦穗的重量,最后求出最大的麦穗。思考、编程去吧!
参考答案:不知道是真是假呢!
import time
starttime = ()
print("一起寻找最大的麦穗")
print(".......................")
EarofWheat=[]
n=int(input("麦穗数量:"))
for i in range(1,n+1):
weight=float(input("第"+str(i)+"个麦穗重量:"))
(weight)
print("最大的麦穗是",format(max(EarofWheat),".2f"))
endtime = ()
print("花费时间:",endtime-starttime,"秒")
运行结果如下:
一起寻找最大的麦穗
.......................
麦穗数量:6
第1个麦穗重量:3
第2个麦穗重量:8
第3个麦穗重量:4
第4个麦穗重量:6
第5个麦穗重量:1
第6个麦穗重量:9
最大的麦穗是
花费时间: 秒
程序里需要使用 time 模块,每个时间戳都以自从1970年1月1日午夜经过了多长时间来表示。函数()用于获取当前时间戳。时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年。这是为啥呢?我也不知道,不知道......