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)

 

posted @ 2022-02-12 17:12  小鱼小鱼hi  阅读(87)  评论(0)    收藏  举报