1.列表(list)

1.1说明

1)列表是容器型数据类型(序列),符号[],各个元素用逗号隔开

2)容器的特征:一个容器可以保存多个数据

3)元素:容器中每个独立的数据就是一个元素

4)列表是可变的(元素个数,值和顺序都可以改变) - 增,删,改,支持下标操作

5)列表对元素没有要求(任何类型数据都可以作为列表的元素)

1.2空列表

list1 = []
list2 = [ ]
print(type(list1),type(list2),len(list1),len(list2))

1.3列表可以保存多个数据

list3 = [1,2,3,4,6,8]
print(list3,len(list3))

1.4查 - 获取元素

1)查分三种情况:获取单个元素,切片,遍历(一个一个取)

2)语法:列表[下标]

3)说明:列表 - 任何结果是列表的表达式:保存列表的变量,具体的列表值

4)下标: 又叫索引,是元素在有序序列中的位置信息,从左往右从0开始,从又往左从-1开始

5)功能: 获取列表指定下标对应的元素

list4 = ["安琪拉","韩信","鲁班","虞姬","孙悟空","李白"]
print(list4.index("韩信"))
print(list4[1])

1.5遍历 - 将列表中元素一个一个取出来

方式1 - 直接输出元素

list5 = ["安琪拉","韩信","鲁班","虞姬","孙悟空","李白"]
for i in list5:print(i)
print('-'*20+'华丽的分割线'+'-'*20)

方式2 - 由下标找到值

list6 = ["安琪拉","韩信","鲁班","虞姬","孙悟空","李白"]
for i in range(len(list6)):  # range(-1,-len(list6)-1,-1)print(list6[i])

方式3 - 同时获取元素和下标

说明: for 下标,元素 in enumerate(列表):

list7 = ["安琪拉","韩信","鲁班","虞姬","孙悟空","李白"]
for index,item in enumerate(list7):print(index,item)

练习1:统计不及格的人数

scores = [89,67,56,90,98,30,78,51,99]
count = 0
for i in scores:if i < 60:count+=1
print("不及格的人数是",count)

练习2:统计列表中的整数个数

list8 = [89,9.9,'abc',True,'abc','10',81,90,23]
count = 0
for i in list8:if type(i) == int:count+=1
print("列表中的整数个数是",count)

练习3:求 nums 中所有偶数的和

nums = [89,67,56,90,98,30,78,51,99]
sum1 = 0
for i in nums:if i % 2 == 0:sum1+=i
print("nums中所有偶数的和是",sum1)

1.6 增 - 添加元素

1.6.1添加单个元素

1)列表.append(元素) - 在列表的最后添加一个元素

movies = ['速度与激情','复仇者','极盗者','红海行动']
print(movies)
movies.append('战狼')
print(movies)

2)列表.insert(下标,元素) - 在指定下标对应元素前插入指定元素

movies = ['速度与激情','复仇者','极盗者','红海行动']
#在'极盗者'前面插入'战狼'
movies.insert(movies.index('极盗者'),'战狼')
print(movies)

3)列表1. extend(列表2) - 将列表2元素全部添加到列表1的后面

movies = ['速度与激情','复仇者','极盗者','红海行动']
print(movies)
movies.extend(['战狼','触不可及','V字仇杀队'])
print(movies)

练习1:将scores中所有及格的分数提取出来

scores = [89,67,56,90,98,30,78,51,99]
aa = []
for i in scores:if i > 60:aa.append(i)
print(aa)

循环练习题

1.判断101-200之间有多少个素数,并输出所有素数。

count = 0
for i in range(101,201):for j in range(2,i):if i % j == 0:breakelse:count+=1print(i,"是素数")
print("一共有",count,"个素数")

2.求整数1~100的累加值,但要求跳过所有个位为3的数。

sum1 = 0
for i in range(1,101):if i % 10 !=3:sum1 += i
print(sum1)

3.有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的第20个分数

n1 = 1
n2 = 2
for i in range(19):n1,n2=n2,n1+n2
print(n2,"/",n1)

4.写程序计算 n 的阶乘 n! 的结果

n = int(input("请输入一个正整数:"))
m = n
k = 1
while n:k*=nn=n-1
print(m,"的阶乘是",k)

5.求1+2!+3!+…+20!的和

sum1 = 0
for i in range(1,21):k = 1while i:k *= ii -= 1sum1 += k
print(sum1)

6.写程序求表达式 a + aa + aaa + aaaa+ … 的结果,其中a是1~9的数字,求和的项数用n来控制。(a和n可以用变量来表示)

例如:a为3, n为5的时候: 3 + 33 + 333 + 3333 + 33333

import random
a = random.randint(1,9)
b = a
n = int(input("请输入一个正整数:"))
sum1 = 0
c = []
while n:sum1 += an = n-1c.append(a)c.append('+')a = a*10 +b
d = ''
for i in range(len(c)-1):d+=str(c[i])
print(d,"=",sum1)

7.控制台输出三角形

a.根据n的值的不同,输出相应的形状
n = 5时             n = 4
*****               ****
****                ***
***                 **
**                  *
*b.根据n的值的不同,输出相应的形状(n为奇数)
n = 5               n = 7*                    ****                  ***
*****                ************c. 根据n的值的不同,输出相应的形状
n = 4112112321
1234321n = 51121123211234321
123454321

a.根据n的值的不同,输出相应的形状

n = int(input("请输入一个正整数:"))
while n:print("*"*n)n-=1

b.根据n的值的不同,输出相应的形状(n为奇数)

n = int(input("请输入一个正整数:"))
i = int((n+1)/2)
j = 1
while i:print(" "*i,"*"*j)i -= 1j += 2

c. 根据n的值的不同,输出相应的形状

n = int(input('请输入整数n:'))
m = n
for x in range(n+1):print(" "*m,end='')for i in range(1, x+1):print(i, sep='', end='')for j in range(x-1, 0, -1):print(j, sep='', end='')m-=1print()

8.小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元正好花掉,可有哪些购买结合?

for i in range(7):   #i是洗发水for j in range(21):  #j是牙刷for k in range(51):  #k是香皂if i*15 + j*5 +k*2 == 100:print("可以购买洗发水,牙刷,香皂个数分别为:",i,j,k)

9.一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?

count = 0
h = 0.08
k = 1
while True:if h>8848130:breakh = h * 2**kcount+=1
print(count)

10.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

n1 = 1
n2 = 1
n = int(input("请输入是第几个月:"))
if n == 1 or n == 2:print(n,"个月的兔子数是:",1)
else :for i in range(n-3):n1,n2=n2,n1+n2print(n,"个月的兔子数是:",n1+n2)

11.将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。

n = int(input("请输入一个正整数:"))
m = n
flag = False
for i in range(2,n):if n % i == 0:flag = Truebreak
else:print(n,"=",1,"×",n)
if flag == True:k = 2aa = []while n:if n % k ==0:aa.append(k)aa.append('×')n = n // kif n == 1:breakelse:k +=1bb = ''for j in range(len(aa)-1):bb+=str(aa[j])print(m,"=",bb)

12.某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值

n = input("请输入一个四位数整数:")
while n:if len(n) !=4:print("输入有误,请重新输入")n = input("请输入一个四位数整数:")else:n = int(n)ge = ((n % 10)+5) % 10shi = ((n //10% 10)+5) % 10bai = ((n //100% 10)+5) % 10qian = ((n //1000)+5) % 10k1 ,k2 =ge,shige,qian = qian,k1shi,bai = bai,k2print("加密后的值为:",qian*1000+bai*100+shi*10+ge)break

13.本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。

a = 10000
for i in range(5):a = a * (1+0.003)
print(a)

14.输入一个整数,计算它各位上数字的和。(注意:输入的整数可以是任意位)

n = int(input("请输入一个整数:"))
sum1 = 0
while n:sum1 += n % 10n //=10
print(sum1)

15.求两个数的最大公约数和最小公倍数。(提示:公约数一定小于等于两数中的小的那个数,且能同时被两个数整除;公倍数一定大于等于两数中的大数,且是大数的倍数又能被两数中的小数整除)

n1 = int(input("请输入一个整数n1:"))
n2 = int(input("请输入一个整数n2:"))
if n1 > n2:k = n1
else:k = n2
while True:if k % n1 == 0 and k % n2 ==0:print(n1,"和",n2,"的最小公倍数是",k)print(n1,"和",n2,"的最大公约数是",n1*n2//k)breakelse:k+=1

python列表(list)相关推荐

  1. python列表(数组)

    python列表(数组) 列表(list)  就是 数组 - 列表是Python中的一个对象 - 对象(object)就是内存中专门用来存储数据的一块区域 - 之前我们学习的对象,像数值,它只能保存一 ...

  2. insert 语句的选择列表包含的项多于插入列表中的项_如何定义和使用Python列表(Lists)

    Python中最简单的数据集合是一个列表(list).列表是方括号内用逗号分隔的任何数据项列表.通常,就像使用变量一样,使用=符号为Python列表分配名称. 如果列表中包含数字,则不要在其周围使用引 ...

  3. python列表嵌套字典取值_Python基础语法:你不得不知的几种变量类型

    (点击上方快速关注并设置为星标,一起学Python) 作者:kina_chen來源:简书 01. Python编码Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字, ...

  4. python列表的实现原理_Python列表对象实现原理

    Python 列表对象实现原理 Python 中的列表基于 PyListObject 实现,列表支持元 素的插入.删除.更新操作,因此 PyListObject 是一个变长 对象(列表的长度随着元素的 ...

  5. Python 列表、字典、元组的一些小技巧

    1. 字典排序 我们知道 Python 的内置 dictionary 数据类型是无序的,通过 key 来获取对应的 value.可是有时我们需要对 dictionary 中的 item 进行排序输出, ...

  6. python列表(list)+索引切片+修改+插入+删除+range函数生成整数列表对象

    python列表(list)+索引切片+修改+插入+删除+range函数生成整数列表对象 列表(list)是什么? 列表是Python中内置有序.可变序列,列表的所有元素放在一对中括号"[] ...

  7. python列表(list)中出现次数最多的元素使用collection包的Counter方法

    python列表(list)中出现次数最多的元素使用collection包的Counter方法 collections模块自Python 2.4版本开始被引入,包含了dict.set.list.tup ...

  8. python 列表、字典转json字符串

    python 列表.字典转json字符串 代码 import json data1 = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ] data ...

  9. python列表字典操作_Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结...

    创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...

  10. python读取字符串的list dict_转:Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结...

    1 创建列表2 sample_list = ['a',1,('a','b')]3 4 Python 列表操作5 sample_list = ['a','b',0,1,3]6 7 得到列表中的某一个值8 ...

最新文章

  1. mysql configuration_MySQL Configuration 教程
  2. navicat premium 链接postgresql 无法加载表_POSTGRESQL 数据库结构体系 ||| 东来西去 三个角度看...
  3. 计算机网络的网络层功能在内完成,计算机网络习题及答案
  4. 宁夏小学三年级计算机下册教案,宁夏信息技术教案
  5. jbuilder运行一闪而过
  6. linux:tomcat写入文件失败
  7. HDU2108 Shape of HDU【多边形凹凸】
  8. HTML关联两个标签事件,javascript – 交换2个html元素并保留事件侦听器
  9. JavaScript里函数中的this
  10. 如何清理 C 盘空间
  11. 论文: TextBoxes
  12. 2021-07-18 游戏仓、力反馈
  13. 甲骨文收购mysql,甲骨文提出十大保证 承诺收购Sun后会善待MySQL
  14. Pytorch分布式训练/多卡训练(二) —— Data Parallel并行(DDP)(2.2)(代码示例)(BN同步主卡保存梯度累加多卡测试inference随机种子seed)
  15. 日常计算机桌面系统的维护,新手学电脑日常维护与故障排除
  16. 网络安全工程师从0单排日记-0
  17. TIN的构建、Delaunay三角网、Voronoi图
  18. ubuntu12.04 飞鸽传书安装
  19. 使用正则表达式进行数据校验(java,javascript)
  20. 如何做一个基于python校园失物招领系统毕业设计毕设作品(Django框架)

热门文章

  1. Echarts柱状图柱子上“画线”
  2. 《可以量化的管理学》绪论
  3. 2年200店!Tims咖啡强势扩张的底气在哪里?
  4. Neo4j【有与无】【N4】构建图形数据库应用程序
  5. 微软的学术可视化搜索
  6. Ebean报错java.lang.ClassCastException: com.project.model.xxx cannot be cast to com.project.model.xxx
  7. 八数码(有一个空的移动拼图模型+map.count的用法)
  8. 如何4步绘制出高水平的气泡图?
  9. 企业微信的渠道活码怎么用?到底有什么好处?
  10. 多用户MIMO在移动通信系统中的应用