Python初學者第九天 字符串、列表、字典練習
阿新 • • 發佈:2018-01-06
有一個 dex one isdigit 不知道 lower pop 讓其 swap
# -*- coding: utf-8 -*-
寫代碼,有如下字典,按要求實現每個功能dic={‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘k3‘:‘v3‘}
1.請循環遍歷出所有的key:
dic={‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘k3‘:‘v3‘}
print(dic.keys())
for key in dic.items():
print(dic.keys())
2.請循環遍歷出所有的value:
dic={‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘k3‘:‘v3‘}
print(dic.values())
for key in dic.items():
print(dic.values())
3.請循環遍歷出所有的key和value:
dic={‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘k3‘:‘v3‘}
for k,v in dic.items():
print(k,v)
4.請在字典中添加一個鍵值對,‘k4‘:‘v4‘,輸出添加後的字典
dic={‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘k3‘:‘v3‘}
dic[‘k4‘]=‘v4‘
print(dic)
5.請刪除字典中鍵值對‘k1‘,‘v1‘,並輸出刪除後的字典
dic={‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘k3‘:‘v3‘}
del dic[‘k1‘]
print(dic)
6.請刪除字典中鍵‘k5‘對應的鍵值對,如果字典中不存在鍵‘k5‘,則不報錯,並讓其返回None
dic={‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘k3‘:‘v3‘}
dic.pop(‘k5‘)
print(dic)
7.請獲取字典中‘k2‘對應的值
dic={‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘k3‘:‘v3‘}
dic.get(‘k2‘)
print(dic.get(‘k2‘))
8.請獲取字典中‘k6‘對應的值,如果鍵‘k6‘不存在,則不報錯,並且讓其返回None
dic={‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘k3‘:‘v3‘}
dic.get(‘k6‘)
print(dic.get(‘k6‘))
9.現有dic2 = {‘k1‘:‘v111‘,‘a‘:‘b‘}通過一行操作使dic2 = {‘k1’:’v1’,’k2’:’v2’,’k3’:’v3’,a’:’b’}
dic={‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘k3‘:‘v3‘}
dic2 = {‘k1‘:‘v111‘,‘a‘:‘b‘}
dic2.update(dic)
print(dic2)
10.組合嵌套題。寫代碼,有如下列表,按照要求實現每一個功能
lis = [[‘k’,[‘qwe’,20,{‘k1’:[‘tt’,3,’1’]},89],’ab’]]
1.將列表lis中‘tt‘變成大寫(用兩種方式)
方法一:
lis = [[‘k‘, [‘qwe‘, 20, {‘k1‘: [‘tt‘, 3, ‘1‘]}, 89], ‘ab‘]]
lis[0][1][2][‘k1‘][0] = lis[0][1][2][‘k1‘][0].upper()
print(lis)
方法二:
lis = [[‘k‘, [‘qwe‘, 20, {‘k1‘: [‘tt‘, 3, ‘1‘]}, 89], ‘ab‘]]
lis[0][1][2].get(‘k1‘)[0] = lis[0][1][2][‘k1‘][0].upper()
print(lis)
2.將列表中數字3變成字符串‘100’(用兩種方式)
方法一:
lis = [[‘k‘, [‘qwe‘, 20, {‘k1‘: [‘tt‘, 3, ‘1‘]}, 89], ‘ab‘]]
lis[0][1][2][‘k1‘][1] = ‘100‘
print(lis)
方法二:
lis = [[‘k‘, [‘qwe‘, 20, {‘k1‘: [‘tt‘, 3, ‘1‘]}, 89], ‘ab‘]]
lis[0][1][2].get(‘k1‘)[1] = ‘100‘
print(lis)
3.將列表中字符串‘1’變成數字101(用兩種方式)
方法一:
lis = [[‘k‘, [‘qwe‘, 20, {‘k1‘: [‘tt‘, 3, ‘1‘]}, 89], ‘ab‘]]
lis[0][1][2][‘k1‘][2] = 101
print(lis)
方法二:
lis = [[‘k‘, [‘qwe‘, 20, {‘k1‘: [‘tt‘, 3, ‘1‘]}, 89], ‘ab‘]]
lis[0][1][2].get(‘k1‘)[2] = 101
print(lis)
11.按照要求實現以下功能:
現有一個列表li = [1,2,3,’a’,’b’,4,’c’],有一個字典(此字典是動態生成的,你並不知道它裏面有多少鍵值對,所以使用dic={}模擬此字典);現在需要完成這樣的操作:
如果字典中沒有‘k1’這個鍵,那就創建這個‘k1’鍵和其對於的值(該鍵對應的值設置為空列表),並將列表li中的索引為奇數對應的元素,添加到‘k1’這個鍵對應的空列表中。
如果該字典中有‘k1’這個鍵,且k1對應的value是列表類型,那就將列表li中的索引位為偶數對應的元素,添加到‘k1’這個鍵對應的值中。
li = [1,2,3,‘a‘,‘b‘,4,‘c‘]
li1 = []
dic = {‘k1‘:li1}
if ‘k1‘ not in dic:
for i in li:
if li.index(i) % 2 == 1:
li1.append(i)
print(li1)
dic[‘k1‘] = li1
print(dic)
else:
if type(li1) == list:
for i in li:
if li.index(i) % 2 == 0:
li1.append(i)
dic[‘k1‘] = li1
print(dic)
# 12.已知字符串 a = “aAsmr3idd4bgs7Dlsf9eAF”,要求如下
# 12.1 請將a字符串的大寫改為小寫,小寫改為大寫。
a = ‘aAsmr3idd4bgs7Dlsf9eAF‘
a = a.swapcase()
print(a)
# 12.2 請將a字符串的數字取出,並輸出成一個新的字符串。
a = ‘aAsmr3idd4bgs7Dlsf9eAF‘
l = []
for s in a:
if s.isdigit():
l.append(s)
print(l)
print(‘‘.join(l))
print(‘‘.join([s for s in a if s.isdigit()]))
# 12.3 請統計a字符串出現的每個字母的出現次數(忽略大小寫,a與A是同一個字母),並輸出成一個字典。 例 {‘a’:4,’b’:2}
a = ‘aAsmr3idd4bgs7Dlsf9eAF‘
a = a.lower()
b = {}
for s in set(a):
b[s] = a.count(s)
print(b)
Python初學者第九天 字符串、列表、字典練習