- 一个数组 my_list=range(10),我想获取如下几个数组,该如何切片?
[1,2,3,4,5,6,7,8,9]---------->[1:]
[1,2,3,4,5,6]----------->[1:7]
[3,4,5,6]---------------->[3:7]
[9]------------------>[10:8:-1]
[1,3,5,7,9]---------->[1:10:2]
[8,6,4,2]------------>[8:1:-2]
2.将字符串 “k:1|k1:2|k2:3|k3:4”转换成字典{“k”:1,”k1”:2,”k2”:3,”k3”:4},请写出代码。
方法一
str1 = "k:1|k1:2|k2:3|k3:4"
dict1 = dict()
for i in str1.split("|"):
key = i.split(":")[0]
value = eval(i.split(":")[1])
dict1[key] = value
print(dict1)
方法二
str1 = "k:1|k1:2|k2:3|k3:4"
dict1 = {k: int(v) for t in str1.split("|") for k, v in (t.split(":"),)}
print(dict1)
3.my_list = [“a”,“a”,“a”,1,2,3,4,5,“A”,“B”,“C”]提取出”12345” (代码题)
方法一
my_list = ["a", "a", "a", 1, 2, 3, 4, 5, "A", "B", "C"]
a, b, c, *dd, q, w, e = my_list
str1 = str()
for i in dd:
str1 += str(i)
print(str1)
方法二
my_list = ["a", "a", "a", 1, 2, 3, 4, 5, "A", "B", "C"]
list1 = my_list[3:8:]
str1 = str()
for i in list1:
str1.
print(str1)
4.给定一串排好序的列表a=[1,2,3,4,5],设计一个函数,打乱这个列表(即每次输出列表元素的顺序要不一致)(代码题)
方法一
import random
def upset(a):
random.shuffle(a)
print(a)
list1 = [1, 2, 3, 4, 5]
upset(list1)
方法二
import random
def daluan(a):
for j in range(5):
i = random.randint(0, 3)
a[i], a[i + 1] = a[i + 1], a[i]
print(a)
a = [1, 2, 3, 4, 5]
daluan(a)
5.给定一个列表a=[3,4,5,6,6,5,4,3,2,1,7,8,8,3],请设计一个函数,实现传入一个target=3,
输出3这个元素在列表a中的索引,输出格式如下[0,7,13]
三种方法实现,推荐第三种
# 方法一
def solution(target):
a = [3, 4, 5, 6, 6, 5, 4, 3, 2, 1, 7, 8, 8, 3]
idx = 0
list1 = list()
while idx < len(a):
if a[idx] == target:
list1.append(idx)
idx += 1
print(list1)
solution(3)
# 方法二
def solution(target):
a = [3, 4, 5, 6, 6, 5, 4, 3, 2, 1, 7, 8, 8, 3]
list1 = []
idx = 0
for i in a:
if i == target:
list1.append(idx)
idx += 1
print(list1)
solution(3)
# 方法三
def solution(target):
a = [3, 4, 5, 6, 6, 5, 4, 3, 2, 1, 7, 8, 8, 3]
my_list = list()
for index, nums in enumerate(a):
if nums == target:
my_list.append(index)
print(my_list)
solution(3)
本文介绍Python中列表的多种实用操作方法,包括切片获取特定子列表、字符串转换为字典及列表元素打乱等技巧,并提供了查找指定元素索引位置的有效方法。
533

被折叠的 条评论
为什么被折叠?



