#277、给一个数,一列表中是否存在2个数之和为这个数,
#在给出2个数的坐标,不在返回None。
def find_index(arr,num):
result = []
for i in range(len(arr)):
for j in range(i+1,len(arr)):
if arr[i] + arr[j] == num:
index_tup = (i,j)
result.append(index_tup)
return result
l = [1,2,3,1,4,5,6,1]
print(find_index(l,2))
print(find_index(l,99))
#279.补充缺失的代码
import os
def print_directory_contents(sPath):
for root,dirs,files in os.walk("d:\\2019"):
for file in files:
file_path = os.path.join(root,file)
print(file_path)
print_directory_contents("d:\\2019")
#280、现有字典 d= {‘a’:24,‘g’:52,‘i’:12,‘k’:33}请按value值进行排序?
d= {'a':24,'g':52,'i':12,'k':33}
sort_d = sorted(d.items(),key=lambda x:x[1])
print(dict(sort_d))
#281、字典推导式生成一个字典
import string
d={letter:ord(letter) for letter in string.ascii_letters}
print(d)
#282、请反转字符串 “aStr”?
s = "aStr"
print(s[::-1])
print("".join(reversed(list(s))))
#283、将字符串 “k:1 |k1:2|k2:3|k3:4”,处理成字典 {k:1,k1:2,…}
s = "k:1 |k1:2|k2:3|k3:4"
s_list = s.split("|")
print(s_list)
for i in range(len(s_list)):
s_list[i] = s_list[i].split(":")
print(s_list)
d={}
for item in s_list:
d[item[0]]=item[1]
print(d)
#284、请按alist中元素的age由大到小排序
alist = [{'name':'a','age':20},{'name':'b','age':30},{'name':'c','age':25}]
def sortByage(d):
return d["age"]
sort_alist = sorted(alist,key=sortByage)
print(sort_alist)
#286、写一个列表生成式,产生一个公差为11的等差数列
result = [x for x in range(0,100,11)]
print(result)
#287、给定两个列表,怎么找出他们相同的元素和不同的元素?
lst1 = [1,2,4,5,6]
lst2 = [1,3,5,7,8,9]
print("相同元素:", set(lst1)&set(lst2))
print("不同元素:", set(lst1)^set(lst2))
#292、设计实现遍历目录与子目录,抓取.pyc文件
import os
for root,dirs,files in os.walk("d:\\2019"):
for file in files:
if os.path.splitext(file)[1] == ".txt":
print(os.path.join(root,file))
#293、一行代码实现1-100之和
print(sum(range(1,101)))
#294、遍历列表时删除元素的正确做法
#比如:删除列表中小于5的数
#1
l = [1,2,3,4,5,6,7,8,9,10]
result=[]
for i in l:
if i>=5:
result.append(i)
print(result)
#2
l_cp=l[:]
for i in l_cp:
if i<5:
l.remove(i)
print(l)
#3
print([x for x in l if x>=5])