Python基础之 List

2019-12-26 09:37:57 浏览数 (1)

本文介绍一些 Python List 基础知识

1. 核查列表是否存在某元素

代码语言:javascript复制
1# List of string 
2listOfStrings = ['Hi' , 'hello', 'at', 'this', 'there', 'from']
  • 使用成员运算符 in / not in
代码语言:javascript复制
1if 'at' in listOfStrings :
2    print("Yes, 'at' found in List : " , listOfStrings)
3-----------------------------------------------------------
4if 'time' not in listOfStrings :
5    print("Yes, 'time' NOT found in List : " , listOfStrings)
  • 使用list.count()函数
代码语言:javascript复制
1if listOfStrings.count('at') > 0 :
2    print("Yes, 'at' found in List : " , listOfStrings)

基于自定义逻辑核查列表中是否存在某元素

  • 使用 any() 函数
代码语言:javascript复制
1result = any(len(elem) == 5 for elem in listOfStrings)
2
3if result:
4    print("Yes, string element with size 5 found")

2. 核查列表1是否包含列表2中的所有元素

假设存在如下两个列表:

代码语言:javascript复制
1# List of string 
2list1 = ['Hi' ,  'hello', 'at', 'this', 'there', 'from']
3
4# List of string
5list2 = ['there' , 'hello', 'Hi']
  • 使用 all() 函数
代码语言:javascript复制
1result =  all(elem in list1  for elem in list2)
2
3if result:
4    print("Yes, list1 contains all elements in list2")    
5else:
6    print("No, list1 does not contains all elements in list2")
  • 使用 any() 函数
代码语言:javascript复制
1result =  any(elem in list1  for elem in list2)
2
3if result:
4    print("Yes, list1 contains any elements of list2")    
5else :
6    print("No, list1 contains any elements of list2")

3. 创建列表,并用相同的值进行初始化

  • 使用 *
代码语言:javascript复制
1listOfStrings1 = ['Hi'] * 10
  • 使用列表推导式
代码语言:javascript复制
1listOfStrings2 = ['Hi' for i in range(10)]

4. 如何迭代一个列表?

创建如下列表

代码语言:javascript复制
1wordList = ['Hi' , 'hello', 'at', 'this', 'there', 'from']
  • 使用 for-in 循环
代码语言:javascript复制
1for word in wordList:
2    print(word)
  • 使用while循环
代码语言:javascript复制
1i = 0
2sizeofList = len(wordList) 
3while i < sizeofList :
4    print(wordList[i]) 
5    i  = 1
  • 使用 for range()
代码语言:javascript复制
1for  i in range(len(wordList)) :
2    print(wordList[i])
  • 使用列表推导式
代码语言:javascript复制
1[print(i) for i in wordList]

5. 在指定位置插入元素

初始列表如下:

代码语言:javascript复制
1# List of string 
2list1 = ['Hi' ,  'hello', 'at', 'this', 'there', 'from']
  • 索引3位置插入
代码语言:javascript复制
1list1.insert(3, 'why')
  • 列表开始位置插入
代码语言:javascript复制
1list1.insert(0, 'city')
  • 列表指定位置插入列表
代码语言:javascript复制
1list1 = ['city', 'Hi', 'hello', 'at', 'why', 'this', 'there', 'from']
2
3list2 = [3,5,7,1]
  • 使用 for 循环
代码语言:javascript复制
1for elem in reversed(list2) :
2    list1.insert(3, elem)
  • 使用列表切换进行拼接
代码语言:javascript复制
1list1 = list1[:3]   list2   list1[3:]

6. 基于列表中元组的第二个元素进行排序

初始列表如下,由若干元素构成:

代码语言:javascript复制
1wordFreq = [ ('the' , 34) , ('at' , 23), ('should' , 1) , ('from' , 3) ]
  • sort() 函数默认按照元组的第一个元素进行排序
代码语言:javascript复制
1wordFreq.sort()
  • 使用 lambda 函数对列表中元组的第二个元素进行排序
代码语言:javascript复制
1wordFreq.sort(key=lambda elem: elem[1])

更多内容,欢迎关注了解。

0 人点赞