借鉴:https://www.cnblogs.com/shengyang17/p/8543712.html
https://www.cnblogs.com/you-wei1/p/9693254.html
1.有两个列表
l1 = [11, 22, 33]
l2 = [22, 33, 44]
a.获取内容相同的元素列表
b.获取l1中有,l2中没有的元素列表
c.获取l2中有,l1中没有的元素列表
d.获取l1和l2中内容都不同的元素
l1 = [11, 22, 33]
l2 = [22, 33, 44]
li = []
# a:
# for i1 in l1:
# for i2 in l2:
# if i1 == i2:
# print(i1)
# b:
# for i in l1:
# if i not in l2:
# print(i)
# c:
# for i in l2:
# if i not in l1:
# print(i)
# d:
# for i1 in l1:
# if i1 not in l2:
# print(i1)
# for i2 in l2:
# if i2 not in l1:
# print(i2)
2.用1,2,3,4,5,6,7,8 能组成多少个互不相同且无重复的两位数
# 1.
# count = 0
# for i in range(1, 9):
# for v in range(1, 9):
# if i !=v:
# count += 1
# # count = count - 8
# print(count)
# 2.
# count = 0
# ls = [1,2,3,4,5,6,7,8]
# for i in range(0, len(ls)):
# for v in range(0, len(ls)):
# if i !=v:
# count += 1
# print(count)
3.九九乘法表
# 1.
# for i in range(1,10):
# string = ""
# for j in range(1,i+1):
# string +=str(j) + " * "+str(i) + " = " +str(i*j)+"\t"
# print(string)
# 2.
# for i in range(1,10):
# for j in range(1,i+1):
# print(str(j) + " * "+str(i) + " = " +str(i*j)+"\t",end="")
# print("\n",end="")
4.*****补充print()方法
# print('raito', end='结尾')
# print('raito')
# print('raito','tsuki','rei',sep='中间')
5.这里面的数字两个组合 多少种不同样的,数字不重复的
li = [1,2,3,4]
li = [1,2,3,4]
l =len(li)
for i in range(0,l-1):
for v in range(i+1,l):
print(li[i],li[v])
6.公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱?
for x in range(1,100//5): #都可写成range(1,100),但为了减少循环次数,故取总价除以单价的商(取整)为最大循环次数
for y in range(1,100//3):
for z in range(1,100):
if x + y + z == 100 and 5*x + 3*y + z/3 == 100: #需同时满足条件:总数为100;总价为100
print(x,y,z)
7.利用下划线将列表中的每个元素拼接成字符串
li = ['alex','eric',123]
li[2] = str(li[2]) # 因数字不能直接和字符串连接,把列表中数字转换成字符串
v = "_".join(li)
print(v)
8.写代码,有如下元组,请按照功能要求实现每一个功能
tu=('alex', 'eric', 'rain')
计算元组长度并输出
获取元组的第2个元素,并输出
获取元组的第1-2个元素,并输出
请使用for输出元组的元素
请使用for、len、range输出元组的索引
请使用enumrate输出元祖元素和序号(序号从10开始)
tu = ('alex', 'eric', 'rain') print(len(tu)) print(tu[2]) print(tu[1:])
print(tu[1:3]) for item in tu:
print(item) for index in range(len(tu)):
print(index) for index, item in enumerate(tu, 10):
print(index, item)
9.有如下变量,请实现要求的功能
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
讲述元祖的特性
请问tu变量中的第一个元素“alex”是否可被修改?
请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
1.
1.可存放多个值
2.不可变
3.有序,按照从左到右的顺序定义元组元素,下标从0开始顺序访问
4.第一级元素不可被修改,不能被增加或者删除
2.
不可被修改。
3.
tu[1][2]['k2'].append('seven')
k2对应的值是列表,可以被修改。
>>> tu
('alex', [11, 22, {'k1': 'v1', 'k2': ['age', 'name'], 'k3': (11, 22, 33)}, 44])
>>> tu[1][2]['k2'].append('seven')
>>> tu
('alex', [11, 22, {'k1': 'v1', 'k2': ['age', 'name', 'seven'], 'k3': (11, 22, 33)}, 44])
4.
k3对应的是元组,不能被修改。
10.有一下列表,nums=[2,7,11,15,1,8,7]请找到列表中任意两个元素相加能够等于9的元素集合,如:(0,1)(4,5)
nums = [2,7,11,15,1,8,7]
li =[]
for i in range(len(nums)):
for j in range(len(nums)):
if nums[i] + nums[j] == 9:
li.append((i,j,))
print(li)
11.实现每一个功能
li=['alex', 'eric', 'rain']
计算列表长度并输出
列表中追加元素“seven”,并输出添加后的列表
请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
请删除列表中的元素“eric”,并输出修改后的列表
请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
请删除列表中的第3个元素,并输出删除元素后的列表
请删除列表中的第2至4个元素,并输出删除元素后的列表
请将列表所有的元素反转,并输出反转后的列表
请使用for、len、range输出列表的索引
请使用enumrate输出列表元素和序号(序号从100开始)
请使用for循环输出列表的所有元素
a
>>> li = ['alex','eric','rain']
>>> v = len(li)
>>> v
3
b
>>> li.append('seven')
>>> li
['alex', 'eric', 'rain', 'seven']
c
>>> li.insert(0,'Tony')
>>> li
['Tony', 'alex', 'eric', 'rain', 'seven']
d
>>> li[1] = 'Kelly'
>>> li
['Tony', 'Kelly', 'eric', 'rain', 'seven']
e
>>> li.remove('eric')
>>> li
['Tony', 'Kelly', 'rain', 'seven']
f
>>> del li[1]
> K = del.li[1]
>>> li
['Tony', 'rain', 'seven']
g
>>> del li[2]
>>> li
['Tony', 'rain']
h
>>> del li[1:3]
>>> li
['Tony']
i
>>> li = ['alex','eric','rain']
>>> li
['alex', 'eric', 'rain']
>>> li.reverse()
>>> li
['rain', 'eric', 'alex']
j
li = ['alex','eric','rain']
for i in range(len(li)):
print(i)
k
li = ['alex','eric','rain']
for k ,v in enumerate(li,100):
print(k,v)
l
li = ['alex','eric','rain']
for i in li :
print(i)
12.分页显示内容
a.通过for循环创建301条数据,数据类型不限,如:
alex-‐[email protected]
alex-‐[email protected]
alex-‐[email protected]
....
for i in range(1,302):
print("alex-‐"+str(i)+"alex"+str(i)+"@live.compwd"+str(i))
b.提示用户请输入要查看的页码,当用户输入指定页码,则显示指定数据
注意:
-‐每页显示10条数据
-‐用户输入页码是非十进制数字,则提示输入内容格式错误
user_list = [
]
for i in range(1,302):
temp = {'name': 'alex'+str(i), 'email': '[email protected]' + str(i), 'pwd': 'pwd'+str(i)}
user_list.append(temp) while True:
# 每页显示10条数据
s = input("请输入1,2,3-31页码:")
s = int(s)
# user_list[0,10] 1
# user_list[10,20] 2
# user_list[20,30] 3
start = (s-1) * 10
end = s * 10
result = user_list[start: end]
for item in result:
print(item,type(item))
13.数据类型
可变不可变:
1.可变:列表,字典
2.不可变:字符串,数字,元组
访问顺序:
1.直接访问:数字
2.顺序访问:字符串,列表,元组
3.映射:字典
存放元素个数:
1.容器类型:列表,元组,字典
2.原子:数字,字符串