python学习笔记——初识列表
(不得不说,python的库和函数是真的很多,比c语言丰富多了,也很难记住,一般都是用到的时候再去百度)首先i=1,循环一次后,i=2,再循环一次后,i=3,以此类推,直到i=4进行一次循环后便退出了循环。c语言的数组中只能是同一种类型(要么是数字,要么是字符),但是列表可以数字和字符串混搭。b[0]指的是’ab’这个字符串,b[1]指的是12这个数字,这个倒是和数组一样。的和,在c语言中会稍显复
Python学习——列表
……
列表和数组有点像,但并不一样。
……
一;列表的初始化
a=[] #创建一个空列表
b=[‘ab’,12,34,’w2s1’] #创建一个包含字符串和数字的列表
在c语言中,数组创建时需要事先确定数组中有多少个元素,但是列表不用。
c语言的数组中只能是同一种类型(要么是数字,要么是字符),但是列表可以数字和字符串混搭。
b[0]指的是’ab’这个字符串,b[1]指的是12这个数字,这个倒是和数组一样。
……
……
二;列表的运算
1;改变列表中元素的值
b[0]=12 #改变列表中元素的值
这时b=[12,12,34,’w2s1’]
2;列表的加法
如果有两个列表x=[1,2,3],y=[4,5,6]
直接相加z=x+y。
z=[1,2,3,4,5,6]
3;列表的乘法
比如x=[1,2,3]
x=x*3
那么x=[1,2,3,1,2,3,1,2,3]
乘法和加法的原理是类似的。
……
……
三;列表在for循环中的运用
基本的格式为:for i in 列表
比如这样一个程序:
for i in [1,2,3,4]:
print(i)
首先i=1,循环一次后,i=2,再循环一次后,i=3,以此类推,直到i=4进行一次循环后便退出了循环。
……
……
四;range()函数
range()函数可以用来计数。
基本的格式为:range(start,top,step)
比如上面那个程序,其实就可以写成这样:
for i in range(1,5,1):
print(i)
也就是从1开始,然后小于5为止。(不等于5)
start:计数从start开始,默认是从0开始,例如range(5)等价于range(0,5)
top:计数到top结束,但不包括top。
step:步长,默认为1。例如:range(0,5)等价于(0,5,1)
……
……
五;列表和range()函数
可以使用range()函数,来填充列表。
比如:
a=list(range(10))
print(a)
会打印出这样的结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
用range()函数来填充列表,可以让列表的填充更加方便和多样。
……
……
六;sum()函数
可以使用sum()函数,来计算列表中所有数字的和。(当然,列表中不能出现字符串元素,否则就会报错)
比如:
a=list(range(101))
print(sum(a))
会输出0+1+2+……100的值:
5050
原本需要用循环才能做到的事情,只需要一个sum()函数就可以做到了。
(不得不说,python的库和函数是真的很多,比c语言丰富多了,也很难记住,一般都是用到的时候再去百度)
……
……
七;列表推导式
如果要计算6+66+666……的和,在c语言中会稍显复杂。
相对而言,python要更加简便一些。
比如这样:
n=int(input())
sum=0
for i in range(1,n+1):
a=int('6'*i)
sum=sum+a
print(sum)
如果输入的n=2,那么会输出:
72
实际上也就是输出6+66的值。
如果换成是列表推导式的话,可以一步到位:
n=int(input())
print(sum([int('6'*i) for i in range(1,n+1)]))
两条语句就能解决了。
只不过……
这样写出来的代码确实有点难读……感觉还是用传统的方法好一点,少用一点列表推导式吧。
更多推荐
所有评论(0)