美文网首页
2018-07-20 list列表问题

2018-07-20 list列表问题

作者: 她即我命 | 来源:发表于2018-07-21 13:53 被阅读28次
  1. 已知一个列表,求所有元素和。
list1 = [1, 2, 3, 5, 6, 7, 8, 11, 23, 56]
sum = 0

for x in list1:
    sum += int(x)
print('列表元素的和为:%d\n'%sum)

输出: 列表元素的和为:122

2.已知一个列表,输出所有奇数下标元素。

print(list1[::2])

输出:[1, 3, 6, 8, 23]

3.已知一个列表,输出所有元素中,值为奇数的。

for x in list1:
    if not int(x) % 2 ==0:
        print(x)

输出: 
1
3
5
7
11
23

4.已知一个列表,将所有元素乘二。

b = 1
for x in list1:
    b = x * 2
    print(b)

输出:
2
4
6
10
12
14
16
22
46
112

5.已知一个列表,将所有元素加到第一个元素中。

d = [list1[0]]
for list2 in list1:
    d.append(list2)
print(d)

输出:[1, 1, 2, 3, 5, 6, 7, 8, 11, 23, 56]

6.已知一个列表A,将奇数元素存到B列表中,偶数元素存到C列表中。

a = []
b = []
for x in list1:
    if int(x) % 2 == 0:
        b.append(x)
    else:
        a.append(x)
print(a)
print(b)

输出:
[1, 3, 5, 7, 11, 23]
[2, 6, 8, 56]

7.把A列表的前5个元素复制到B列表中。

B = []
A = [1,2,3,4,5,7,8]
B = B + A[:5]
print(B)

输出:[1, 2, 3, 4, 5]

8.求列表中心元素

B =[]
if len(A) % 2 == 1:
   B = A[(len(A)//2)]
else :
    print('这个列表没有中心值')
print('\n中心值为%d\n'%B)

输出:  中心值为4
  1. 把1--36放入一个列表中,然后以6*6样式存储
a = []
b = []
c = []
d = []
e = []
f = []
for x in range(1,37):
    if int(x) <= 6:
        a.append(x)
    elif int(x) <= 12:
        b.append(x)
    elif int(x) <= 18:
        c.append(x)
    elif int(x) <= 24:
        d.append(x)
    elif int(x) <= 30:
        e.append(x)
    else:
        f.append(x)

print(a,b,c,d,e,f,end='\n\n', sep='\n')

输出:
[1, 2, 3, 4, 5, 6]
[7, 8, 9, 10, 11, 12]
[13, 14, 15, 16, 17, 18]
[19, 20, 21, 22, 23, 24]
[25, 26, 27, 28, 29, 30]
[31, 32, 33, 34, 35, 36]

10.十个不重复的数字,按从小到大排序

list3 = [12,33,45,67,87,54,0,3,5,45]
list3.sort()
print(list3,'\n')

输出:[0, 3, 5, 12, 33, 45, 45, 54, 67, 87] 

11.长度为10的列表,删除某一位置的元素

del a[3]
print(a,'\n')

输出:[22, 34, 56, 98, 4444, 21, 0, 4, 55] 

12.一个长度为10的列表,按照递增排序,然后再相应位置插入相应的元素

a = [22,34,56,78,98,4444,21,0,4,55]
a.sort()
a.insert(88,8888)
print(a,'\n')

输出:[0, 4, 21, 22, 34, 55, 56, 78, 98, 4444, 8888] 

13.长度为10 的列表,去掉列表中重名的人名

a = ['罗志祥','周杰伦','vn','vn','lee','Eric','timor','kater','jinx','jinx']

# 去重
b = set(a)

#自己设置需要删除的重复名字来删除
a.remove('vn')
a.remove('jinx')

print(b)
print(a,'\n')

输出:
{'jinx', 'lee', 'Eric', 'kater', '罗志祥', '周杰伦', 'vn', 'timor'}
['罗志祥', '周杰伦', 'vn', 'lee', 'Eric', 'timor', 'kater', 'jinx']

14.删除列表的3-6位的元素

a = ['罗志祥','周杰伦','vn','vn','lee','Eric','timor','kater','jinx','jinx']
b = 0
for x in a:
    if 2 <=  b  <=  5:
        a.remove(x)
    b += 1
    a = a[:] #列表删除和添加元素都会导致下标改变,每次循环都重新把列表的元素存一遍,这样下标就会动态的固定了
print(a,'\n')

输出:['罗志祥', '周杰伦', 'timor', 'kater', 'jinx', 'jinx'] 

15.已知A,B列表,定义一个C列表,要求C包含A,B列表中的所有数据,无重复数据

A = [1,2,3,3,44,5,54,4,4]
B = [2,3,4,4,5,6,67,77]
C = A + B
C1 = set(C)   #set(list) 列表去重
print(C1)

输出:{1, 2, 3, 4, 5, 6, 67, 44, 77, 54}

相关文章

网友评论

      本文标题:2018-07-20 list列表问题

      本文链接:https://www.haomeiwen.com/subject/jxpqmftx.html