python怎样创建具有一定长度和初始值的列表

python怎样创建具有一定长度和初始值的列表,第1张

1、首先,我们需要打开Python的shell工具,在shell当中新建一个对象member,对member进行赋值。

2、这里我们所创建的列表当中的元素均属于字符串类型,同时我们也可以在列表当中创建数字以及混合类型的元素。

3、先来使用append函数对已经创建的列表添加元素,具体如下图所示,会自动在列表的最后的位置添加一个元素。

4、再来使用extend对来添加列表元素,如果是添加多个元素,需要使用列表的形式。

5、使用insert函数添加列表元素,insert中有两个参数,第一个参数即为插入的位置,第二个参数即为插入的元素。

至此,我们已经把python最基本的数据结构讲的差不多了

不了解这个你可能永远不会成为python大佬(3)

不了解这个你可能永远不会成为python大佬(4)

从这节开始,你就可以写一个完整的程序结构,而不是一些零碎的小片段啦!

这节我们开始讲:

if条件语句 | for循环 | while循环 | 跳出和终止循环

[赞][赞][赞][赞][赞][赞]

01

if条件语句

顾名思义,if是“如果”的意思,它常用来判断程序在什么情况下需要做什么事,python里的条件语句形如:

1 如果如果a成立,则执行b

if 条件a :

b

2 如果a成立,则执行b,否则(else)执行c

if 条件a :

b

else:

c

3如果a成立,则执行b,否则如果c成立,则执行d,如果都不成立,执行e

if 条件a :

b

elif 条件c :

d

else:

e

上文中的 仅代表4个空格缩进,如果是在notebook里写, 冒号":" 回车后会自动缩进(python程序结构的划分就是依据 严格的缩进 ,if、for等语句的缩进必须注意)

条件语句可以多种多样,像下面这样:

a= 3

b= 5

if a== 3 and b== 4 :

print( 'and用法' )

elif a== 3 or b== 4 :

print( 'or用法' )

else :

print( '比大小' )

a and b表示必须两个同时成立,a or b则只需要至少一个成立即可。

输出结果:

or 用法

小知识:短路效应

a and b中,a如果为 ,则python默认不执行b语句,由定义直接判定为

a or b中,a如果为 ,则默认不执行b语句,直接判定为 ,这就是著名的 短路效应

02

for、while循环

循环 是让一个语句 重复多次 ,为了提高程序效率。 for循环 形如:

for 变量 in 序列:

语句

可以依次循环列表中每个值,如:

for i in [ 'a' , 'b' , 'c' , 'd' ]:

print(i)

输出结果:

a b c d

上面的循环还可以写成另一种形式:

list_1=[ 'a' , 'b' , 'c' , 'd' ]

for i in range(len(list_1)):

print(list_1[i])

输出结果:

a b c d

第二种方法虽然看起来麻烦些,但实际工作中其实用的更多。

range()函数

上面程序里出现了 range() 函数,这里简单讲一下:

其中 len() 函数是 获取列表的长度 range() 函数是一个 生成序列数 的函数。基本形式为 range(x,y,l) range(10) 代表一个 0~9 的序列, range(0,10) range(10) 相同,默认步长为1,如下:

list_1=[x for x in range( 10 )] #0~9,省略起始数字,左闭右开

list_2=[x for x in range( 0 , 10 )] #0~9,起始数字为0,左闭右开

list_3=[x for x in range( 0 , 10 , 2 )] #0~9,步长为2取,左闭右开

print(list_1);print(list_2);print(list_3)

输出结果:

[ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]

[ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]

[ 0 , 2 , 4 , 6 , 8 ]

上面也是一种用 for循环生成列表 的快捷方式。

实际工作里,如果想在n个不同序列中同时循环n个量,可以像这样:

for i, n, c in zip([ 0 , 1 ], [ 'bad' , 'good' ], [ 'green' , 'red' ]):

print(i,n,c)

输出结果:

0 bad green

1 good red

其中, zip() 是一个 “打包”函数 ,将[0,1], ['bad','good'], ['green','red']变为

[(0,'bad','green'),(1,'good','red')],然后i、n、c分别进行循环。

( ps:我经常用这个方式绘图,可以一次性绘制多个参数,有奇效 )

while 意为当成立时执行,循环形如:

while 条件 :

语句

简单例子:

i= 0

while (i< 5 ) :

print(i)

i=i+ 1

上面程序就是让i每次循环中变化,直到不满足i<5时跳出循环。

for while 选择哪个一般来说都行, while 更侧重 明确有中断条件 的情况, for 更侧重于 有确定长度或是循环已知的列表 ,但也可以在结构里设置中断,总的来说, for的适用面更广泛

03

break与continue

余下的篇幅简单讲下循环中的中断标志符: break continue

break 很简单,遇到break 直接跳出当前循环 ,这个循环就废了,不再进行

continue 则是 跳过本轮的循环,后面循环继续

简单的例子展示一下区别:

list_1=[ 'a' , 'b' , 'c' , 'd' ]

for i in range(len(list_1)):

if (list_1[i]== 'c' ):

break

print(list_1[i])

输出结果:

a

b

换成continue:

for i in range(len(list_1)):

if (list_1[i]== 'c' ):

continue

print(list_1[i])

输出结果:

a

b

d

区别显而易见了。

这时候就很多人要问了,如果我想满足某个条件就 连续 跳出好几层循环,该咋办?如果直接用break,会出现下面这样:

for i in range( 10 ):

for j in range( 10 ):

if (j== 3 ):

break

print( 'j中断位置:' ,j)

print( 'i中断位置:' ,i)

输出结果:

j中断位置: 3

i中断位置: 9

显然break只能跳出内层循环,外部的循环仍然完整的进行了。

我们引入 break_flag标志位 来解决这个问题:

for i in range( 10 ):

break_flag = False #跳出整个循环的标志

for j in range( 10 ):

if (j== 3 ):

break_flag = True

break

if (break_flag):

break #跳出外层循环

print( 'j中断位置:' ,j)

print( 'i中断位置:' ,i)

输出结果:

j中断位置: 3

i中断位置: 0

这里,内层 break 前先将 break_flag 置为 True ,跳出内层后 if(break_flag ) 判定成立,再次执行外层的 break ,达到了连续跳多层循环的目的。

代码如下:list1=[2,3,1,9,112,23,23,6,6,1,3,0,11,2,1,1]L1=len(list1)

#列表list1的长度list2=list(set(list1))

#可以用set,直接去掉重复的元素list2sort(reverse=False)

#将列表由小到大排序L2=len(list2)

#列表list2的长度print('集合:'+str(list1))for m in range(L2): X=set()

#设定一个空的集合,用来存放这个元素的所在的位置 start=list1index(list2[m])

for n in range(L1):

stop=L1

if list2[m] in tuple(list1)[start:stop]:

a=list1index(list2[m],start,stop)

Xadd(a) start=start+1 print('元素:'+str(list2[m])+',

一共有'+str(len(X))+'个,在列表位置集合为:'+str(X))。

Python中列表常见的方法有哪些?

Python列表定义:按特定顺序排列的元素组成。在Python中,用方括号[]来表示列表,并用逗号来分隔其中的元素。Python列表是编程中很常见的数据类型 。

列表是一种可修改的集合类型,其元素可以是数字、string等基本类型,也可以是列表、元组、字典等集合对象,甚至可以是自定义的类型。其定义方式如下:>>> nums = [1,2,3,4]>>> type(nums)>>> print nums[1, 2, 3, 4]>>> strs = ["hello","world"]>>> print strs['hello', 'world']>>> lst = [1,"hello",False,nums,strs]>>> type(lst)>>> print lst[1, 'hello', False, [1, 2, 3, 4], ['hello', 'world']]

下面我们来看一下列表中有哪些常见的方法:count():统计某个元素在列表中出现的次数。index():从列表中找出某个值第一个匹配项的索引位置。append():在列表末尾添加新对象。extend():在列表末尾一次性追加另一个序列的多个值。insert():在列表的指定位置插入对象。pop():移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。remove():移除列表中某个值的第一个匹配项。reverse():将列表中的元素反向,不重新拷贝一个列表。reversed():将列表中的元素反向,重新拷贝一个列表。sort():将列表中的元素排序,不重新拷贝一个列表。sortd():将列表中的元素排序,重新拷贝一个列表。copy():浅拷贝,只是给原来的列表贴上了一个新标签,对于一个复杂对象的子对象并不会完全复制,如果有子列表,改变原来的值,新的拷贝对象也会改变。deepcopy():深拷贝,将复杂对象的每一层复制一个单独的个体出来。就是完全拷贝。常见内置函数:max()、min()、sum()、len()、all()、any()、zip()、enumerate()由于文章篇幅有限,具体的代码,推荐大家看这篇文章:>

一般应用场景都不用考虑这个大小,因为这个上限很高,需要用到这么多元素的list的时候,都需要考虑很多其它问题。

1,32位python的限制是 536870912 个元素。

2,64位python的限制是 1152921504606846975 个元素。

以上就是关于python怎样创建具有一定长度和初始值的列表全部的内容,包括:python怎样创建具有一定长度和初始值的列表、24小时删!你不可能学不会的知识python基础、如何统计python list中元素的个数及其位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9664442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存