1.已知乙個數字列表,求列表中心元素。
list1 =[1
,2,3
,4,5
,6,7
,8]
# 方法一:
for num, j in
enumerate
(list1)
:pass
# print(num)
if num &1==
0:num /=
2 num =
int(num)
print
(list1[num]
)else
: num1 =
(num-1)
/2num1 =
int(num1)
num2 =
(num+1)
/2num2 =
int(num2)
# print(num1, num2)
print
(list1[num1]
, list1[num2]
)# 方法二:
count =
len(list1)
if count &1:
print
(list1[count//2]
)else
:print
(list1[count//2-
1], list1[count//2]
)
2.已知乙個數字列表,求所有元素和。
# 方法一:
sum_list1 =
0for i in list1:
sum_list1 += i
print
(sum_list1)
# 方法二:
print
(sum
(list1)
)
3.已知乙個數字列表,輸出所有奇數下標元素。
# 方法一:
for i in list1:
if i &1:
# print(i)
print
(list1[i]
)# 方法二:
for i in
range(1
,len
(list1),2
):print
(list1[i]
)# 方法三:
print
(list1[1:
:2])
4.已知乙個數字列表,輸出所有元素中,值為奇數的元素。
for i in list1:
if i &1:
print
(i)
5.已知乙個數字列表,將所有元素乘二。
例如:nums = [1, 2, 3, 4] —> nums = [2, 4, 6, 8]
for index, num in
enumerate
(list1)
: list1[index]
= num <<
1print
(list1)
# 簡化:
for index in
range
(len
(list1)):
list1[index]
<<
1print
(list1)
6.有乙個長度是10的列表,陣列內有10個人名,要求去掉重複的
例如:names = [『張三』, 『李四』, 『大黃』, 『張三』] -> names = [『張三』, 『李四』, 『大黃』]
name_list =
['a'
,'f'
,'r'
,'a'
,'b'
,'c'
,'r'
,'r'
,'u'
,'a'
]# 方法一:
new_names =
for name in name_list:
if name not
in new_names:
print
(new_names)
# 方法二:
for name in name_list[:]
:if name_list.count(name)
>1:
name_list.remove(name)
print
(name_list)
7.用乙個列表來儲存乙個節目的所有分數,求平均分數(去掉乙個最高分,去掉乙個最低分,求最後得分)
scores =[23
,14,45
,54,15
,66,26
]scores.remove(
max(scores)
)scores.remove(
min(scores)
# 方法一:
scores_sum =
0for i in scores:
scores_sum += i
print
(scores_sum/
len(scores)
)# 方法二:
print
(sum
(scores)
/len
(scores)
)
8.有兩個列表a和b,使用列表c來獲取兩個列表中公共的元素
例如: a = [1, 『a』, 4, 90] b = [『a』, 8, 『j』, 1] --> c = [1, 『a』]
a =[1
,2,5
,7,3
,2]b =[2
,5,8
,9,7
,]c =[
]for i in a:
if i in b and i not
in c:
print
(c)
9.有乙個數字列表,獲取這個列表中的最大值.(注意: 不能使用max函式)
例如: nums = [19, 89, 90, 600, 1] —> 600
list2 =[1
,3,5
,2,4
,8,1
,9,0
]# 方法一:
x =0
y =0
while x <
len(list2)
:for y in
range
(x+1
,len
(list2)):
if list2[x]
< list2[y]
: x = y
# print(x)
break
print
(list2[x]
)# 方法二:
max_num = list2[0]
for i in list2[1:
]:if i > max_num:
max_num = i
print
(max_num)
10.獲取列表**現次數最多的元素
例如:nums = [1, 2, 3,1,4,2,1,3,7,3,3] —> 列印:3
name_list =
['a'
,'f'
,'r'
,'a'
,'b'
,'c'
,'r'
,'r'
,'u'
,'a'
]max_count =
0for x in name_list:
count = name_list.count(x)
if count > max_count:
max_count = count
new_chr =
for x in name_list:
if name_list.count(x)
== max_count and x not
in new_chr:
print
(new_chr)
day4 列表習題
1.已知乙個數字列表,求列表中心元素。num 78,67,52,78,99,23 n len num if n 2 0 x n 2 y n 2 1 print num x num y else print num n 2 2.已知乙個數字列表,求所有元素和。num 78,67,52,78,99,23...
day4 數字型別和列表基礎
num 23 num2 0b10101 在數字前加0b 0b表示二進位制數 二進位制數中只能有0和1兩個基數 print num2 num8 0o76 在數字前加0o 0o表示八進位制數 八進位制的基數 0 7 num16 0x3f 十六進製制數的基數 0 9,a f a f print num16...
湖南集訓Day4
上午的數論感覺還可以,嗯,感覺。因為畢竟我數學弱,只聽懂一半什麼的,感覺證明還是比較顯然的。話說這金牌爺長得好像我某物理老師啊 下午的題終於不是clj出的了,沒辣麼虐了。第一題疑似回文自動機,然而並不會,於是dp水了60分。第二題想了下應該是樹鏈剖分,然後發現搞不出來,回去水第一題,然後水完回來繼續...