一.有两个列表
l1 = [11,22,33] l2 = [22,33,44]
a. 获取内容相同的元素列表
for item in l1: if item in l2: print(item)
b.获取l1中 有,l2中没有的元素列表
for item in l1: if item not in l2: print(item)
c.获取l2 中有,l1中没有的元素列表
for item in l2: if item not in l1: print(item)
d.获取l1 和 l2 中内容不同的元素
for item in l1: if item not in l2: print(item) for item in l2: if item not in l1: print(item)
二、有1、2、3、4、5、6、7、8 8个数字,能组成多少个互不相同且无重复数字的两位数
#思路,先算出一共能有多少种组合,之后减去重复的。就是最后要的结果。
count = 0 for i in range(1, 9): for v in range(1,9): if i != v: #如果比较大的数计算就不好算了。所以这种更好 count +=1 # print(count) #这样算出的是 包括重复的一共有多少可能2位数 #count = count -8 print(count) 如果不是存数字来计算呢 ls = [1,2,3,4,5,6,7,8] count = 0 for i in range(0, len(ls)): for v in range(0, len(ls)): if i != v: count +=1 print(count)
三、里面的数字两两组合 多少种不同样的,数字不能重复。比如有12,就不要有21
li = [1,2,3,4] for i in range(0,len(li)-1): for v in range(i+1,len(li)): print(li[i],li[v])
四、99乘法表
for i in range(1,10): for v in range(1,i+1): print(str(v)+ 'X' +str(i)+ '=' + str(i*v),end=' ') print('')
五、用python开发程序自动计算方案:
公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡必须都要有,问公鸡,目前小鸡要买多少只,刚好凑足100文钱?
for x in range(1,100//5): 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: print(x,y,z)
六、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain']
li=['alex','eric','rain'] v = '_'.join(li) print(v) li=['alex','eric',123,23,54,7,4,1,3,5,7] #如果包含数字的情况下。需要循环遍历下。通过索引方式把每一个都改成字符串,之后连接 for i in range(1,len(li)) : li[i] = str(li[i]) print(li)
七、写代码,有如下元组,按照要求实现每一个功能
tu = ('alex','eric','rain')
a.计算元组长度并输出
v = len(tu) print(v)
b.获取元组的第二个元素,并输出
v = tu[len(tu)-2] print(v)
c.获取元组的第1~2个元素,并输出
v = tu[1:2] print(v)
d.请使用for输出元组的元素
tu = ('alex','eric','rain') for i in range(0,len(tu)): print(tu[i]) for i in tu: print(i)
e.请使用for,len,range 输出元组的索引
tu = ('alex','eric','rain') for i in range(0,len(tu)): print(i)
f.请使用enumrate 输出元组元素和序号(序号从10开始)
tu = ('alex','eric','rain') for k,v in enumerate(tu,10): print(k,v)
八、有如下变量,请实现要求的功能
tu = ("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
a.讲述元组的特性
#元组 可以索引,切片,可以循环 ,一级元组不可以修改,添加,删除
b.请问tu变量中的第一个元素"alex"是否可以被修改
不可以
c.请问tu 变量中的"k2"对应的值是什么类型?是否可以修改?
如果可以,请在其中添加一个元素“Seven”
列表,可以, tu = ("alex", [11, 22, {"k1":'v1', "k2":["age","name"], "k3":(11,22,33)}, 44] ) tu[1][2]["k2"].append("Sever") print(tu)
d.请问点tu 变量中的"k3"对应的值是什么类型?是否可以修改?
如果可以,请在其中添加一个元素“Seven”
#元组,不能修改
九、有一个列表 nums =[2,7,11,15,1,8,7],
请找到列表中任意两个元素相加能够等于9的元素集合,如[(0,1),(4,5)]
a =[] #定义一个空列表来接收值 for i in nums: for j in nums : if i+j ==9 : a.append((i,j)) print(a)
十、有一个列表nums =[2,7,11,15,1,8,7],请找到列表中任意两个元素相加能够等于9的元素集合的索引,如[(0,1),(4,5)]
a = [] for i in range(len(nums)): #通过for循环索引检索 ,此时i 为索引 for j in range(len(nums)): if nums[i] + nums[j] == 9: #通过索引来找到对应的值,最后2个值相加等于9 a.append((i,j)) #最后把定义的索引追加到 a列表里 输出 print(a)
十一、写代码,有如下列表,安要求实现每一个功能
li =['alex','eric','rain']
a.计算列表长度并输出
# v =len(li) # print(v)
b.列表中追加元素“seven”,并输出添加后的列表
# li.append("seven") # print(li)
c.请在列表的第1个位置插入元素‘Tony’,并输出添加后的列表
# li.insert(0,"Tony") # print(li)
View Code
d.请修改列表第2个位置的元素为'Kelly',并输出修改后的列表
# li[1] = "Kelly" # print(li)
View Code
e.请删除列表中的元素"eric",并输出修改后的列表
# li.remove('eric') # print(li)
f.请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
# v =li.pop(1) # print(v) # print(li)
g.请删除列表中的第3个元素,并输出删除元素后的列表
# li.pop() # print(li)
h.请删除列表中的第2至4个元素,并输出删除元素后的列表,del切片
# li = ["alex", "wusir", "eric", "rain", "alex"] # del li[2:4] # print(li) #输出结果 ['alex', 'wusir', 'alex']
i.请将列表所有的元素反转,并输出反转后的列表
# li.reverse() # print(li)
j.请使用for、len、range输出列表的索引
# for i in range(len(li)): # print(i)
k.请使用enumerate输出列表元素和序号(序号从100开始)
# li =['alex','eric','rain'] # v =list(enumerate(li,start=100)) # print(v)
l.请使用for循环输出列表的所有元素
# for i in li: # print(i)
十二、根据提供的列表分页,默认每一页10条数据
s = [] for item in range(1,302): i = {'name':'alex'+str(item),"email":'[email protected]'+str(item),"pwd":'pwd'+str(item)} s.append(i)
p = input("请输入页码") v = int(p) #list [0,10] 1 # [10,20] 2 # [20,30] 3 # [30,40] 4 stat = (v-1) * 10 end = v * 10 result = s[stat:end] for l in result: print(l)