python3_列表
1、 在列表后追加元素 .append()
d=[] for a in range(1,5): for b in range(1,5): for c in range(1,5): if (a!=b) and (a!=c) and (c!=b): totle =a*100 + b*10 +c d.append(totle) #.append()将值插入到列表最后==追加的意思 print("总数量:", len(d)) print(d)
2、字符串转为列表:list()会把字符串的每一个字符分开,而split只是根据条件切分字符串成为列表
str1 = "chinese" str2 = list(str1) print(str2) #['c', 'h', 'i', 'n', 'e', 's', 'e'] str3 = str1.split(" ") print(str3) #['chinese'] str4 = "a,b,c,d" str5 = str4.split(",") print(str5) #['a', 'b', 'c', 'd'] str6 = str4.split(" ") print(str6) #['a,b,c,d']
3、列表转为字符串
l = ['c', 'h', 'i', 'n', 'e', 's', 'e'] str1 = "".join(l) #将列表字符以无连接符方式连接成字符串 print(str1) #chinese str2 = "-".join(l) #将列表字符以-方式连接成字符串 print(str2) #c-h-i-n-e-s-e
4、遍历列表字符串
l = ['c', 'h', 'i', 'n', 'e', 's', 'e'] for i in l : print(i) #打印结果: c h i n e s e
5、列表的比较:
(13条消息) python中怎么比较两个列表-Python3列表(list)比较操作教程_weixin_37988176的博客-CSDN博客
5.1 顺序一致的列表比较:用’==‘比较
list1 = ["one","two","three"] list2= ["one","two","three"] print(list1== list2) #True
5.2 顺序不一致:
使用列表sort()方法进行排序后比较
列表本身有sort()内置方法,可对自身成员进行排序;注意sort()方法对自身造成改变
list1 = ["one","two","three"] list2= ["one","three","two"] print(list1.sort()==list2.sort()) #True print(list1) #['one', 'three', 'two'] print(list2) #['one', 'three', 'two'],注意到list2本身已经被改变了
使用sorted()方法进行排序后比较
sorted()不改变列表原本顺序而是新生成一个排序后的列表并返回
list1 = ["one","two","three"] list2= ["one","three","two"] list3 = sorted(list1) list4 = sorted(list2) print( list3 == list4 ) #True print(list1) #['one', 'two', 'three'] print(list2) #['one', 'three', 'two'],注意到没有改变list2本身顺序
5.3 包含比较:set()转成集合进行包含比较===不会改变列表本身的值
判断列表是否包含另一列表:
set(list1).issubset(set(list2)) list2包含list1
set(list2).issuperset(set(list1)) list1被包含在list2里
set(list1).intersection(set(list2)) 获取两个列表相同成员(交集)
set(list1).symmetric_difference(set(list2)) 获取两个列表不同成员
set(list1).difference(set(list2)) 获取list1不是list2成员的成员(差集)
set(list1).union(set(list2)) 获取两个列表所有成员(并集)
list1 = ["one","two","three"] list2= ["one","three","two","four"] print(set(list1).issubset(set(list2))) #True print(type(set(list1).issubset(set(list2)))) #<class 'bool'> print(set(list2).issuperset(set(list1))) #True print(set(list1).intersection(set(list2))) #{'two', 'one', 'three'} print(type(set(list1).intersection(set(list2)))) #<class 'set'> 集合类型 print(set(list1).symmetric_difference(set(list2))) #{'four'} 集合类型 print(type(set(list1).symmetric_difference(set(list2))))#<class 'set'> print(set(list1).difference(set(list2))) #set() 空集 print(set(list2).difference(set(list1))) #{'four'} print(set(list1).union(set(list2))) #{'three', 'one', 'four', 'two'}
6、index方法:index() 函数用于从列表中找出某个值第一个匹配项的索引位置
list.index(x[, start[, end]]) 参数 x-- 查找的对象。 start-- 可选,查找的起始位置。 end-- 可选,查找的结束位置。 返回值 该方法返回查找对象的索引位置,如果没有找到对象则抛出异常。
# 判断字符串str1 是 字符串str2 的字串 str1 = 'ace' str2 = 'abcdef' def isquence(s,t): j = 0 #遍历t for i in range(len(s)): tmp = s[i] #当前需要查找的字符串tmp try: res = t.index(tmp,j) #记录当前tmp在t中的位置 print(res) j = res + 1 # 找到后继续遍历 except ValueError: return False #/没找到返回错误 return True print(isquence(str1,str2))
# 判断字符串是否包含某个子串 def find(s,t): try: return s.index(t) except ValueError: return False s = 'nihao,shijie' t = 'nihao' result = find(s,t) print(result)
7、max() 方法返回列表元素中的最大值。
max(list) 参数 list -- 要返回最大值的列表。 返回值 返回列表元素中的最大值
8、返回列表中的最大值
In [70]: my_list = [10, 5, 20, 8, 15]
...: max_value = max(my_list)
...: max_index = my_list.index(max_value)
In [71]:
In [71]: print(max_value)
20
In [72]: print(max_index)
2
In [73]: my_list = [10, 5, 20, 8, 15]
...: max_value, max_index = max((v, i) for i, v in enumerate(my_list))
...: print("最大值:", max_value)
...: print("最大值位置:", max_index)
最大值: 20
最大值位置: 2
In [74]:
9、匹配到的列表元素是元组,获取对应序列值的最大值和序列号
In [74]: dir_pattern = re.findall(r'dir_(halt|crash).([a-zA-Z0-9]+).log.(\d+)', out)
In [75]: print(dir_pattern)
[('halt', 's0r2', '2'), ('halt', 's0r9', '0'), ('halt', 's0r9', '1'), ('halt', 's0r9', '3')]
In [76]: max_value, max_index = max((v[2], i) for i, v in enumerate(dir_pattern))
In [77]: print(max_value)
3
In [78]: print(max_index)
3
10、pop方法 移除列表中的一个元素(无入参默认最后一个元素),并返回该元素的值
list.pop([index=-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
11、remove方法
list.remove(obj)
移除列表中某个值的第一个匹配项
12、reverse()方法,反向列表中的元素(可以用来判断回文)
反向列表中元素
list.reverse()
反向列表中元素
13、求列表的和:
sum(list)
14、求列表平均数
sum(list)/len(list)

浙公网安备 33010602011771号