2020-2-20(66)

#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])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值