Python基础语法六:元组和字典

1.列表相关操作

1.数学运算: + *

'''
列表1 + 列表2 - 列表1和列表2中的元素合并产生新的列表
列表1 * 正整数 - 将列表中元素重复N此产生一个新的列表
'''
list1 = [1, 2, 3]
list2 = [4, 5, 6]
print(list1 + list2)
print(list2 * 3)

2.比较运算

1): ==和!=
补充:is的用法
is 和 == 之间的区别:
== 判断的是值是否相等
is判断的是地址是否相等
给不同变量赋相同的数字或者字符串时候,赋值之前系统会先检查内存中是否已经存在这个数字或者字符串,如果存在,会直接返回数据的地址给变量,如果不存在,才会开辟新的内存,返回新的地址
2):< > <= >=
两个列表比较大小时候比较的是两个列表中第一组不相等的元素的大小

str1 = 'abc'
str2 = 'abc'
print(str1 is str2)  # True
list1 = [1, 2, 3]
list2 = [1, 2, 3]
print(list1 is list2)  # False
print(['acb', 100, 200] > [100, 200])  #报错

3.相关的函数

1.max min

max(序列)

min(序列)

要求列表中类型必须一致,并且支持比较大小的运算

nums = [23, 43, 42, 57]
print(max(nums))
print(min(nums))
  1. sorted(排序)

    sorted(列表) - 将列表中的元素从小到大排列,产生一个新列表

    sorted(列表, reverse = True) - 将列表中元素从大到小进行排序,产生一个新列表

    列表.sort() - 将列表中元素从小到大排序,不产生新列表

    列表.sort(列表, reverse = True) - 将列表中元素从大到小排列,不产生新列表

    nums = [23, 43, 42, 57]
    new_nums = sorted(nums)
    print(new_nums)
    new_nums1 = sorted(nums, reverse=True)
    print(new_nums1)
    
  2. reversed

    reversed(列表) - 将列表中所有元素倒序,产生一个新列表

    列表.reverse() - 将列表中元素倒序,不产生新列表

    nums = [23, 43, 42, 57]
    new_nums = reversed(nums)
    print(list(new_nums))
    

4.sum

sum(序列) - 返回列表中所有元素的和 要求序列中的元素必须都是数字

nums = [23, 43, 42, 57]
sum1 = sum(nums)
print(sum1)

# 求1-100 的和:
print(sum(range(1, 101)))

5.list

list.(数据) - 将数据转换成列表

a.所有容器型数据类型都能转换成列表,数据类型必须是容器型数据类型

b. 将容器中的元素全部转换成列表中的元素

str1 = 'hello'
list1 = list(str1)
print(list1)
list2 = list(range(1, 5))
print(list2)

2.列表相关的方法

1.clear

列表.clear() - 清空列表

list1 = [23, 14, 534, 63, 77]
list1.clear()
print(list1)
list1.append(1)
print(list1)

2.copy

列表.copy - 复制列表中所有元素产生一个新的列表

列表.copy == 列表[:] == 列表+[] == 列表 * 1 -> 浅拷贝

用一个变量给另一个变量赋值,给的是地址

list1 = [23, 14, 534, 63, 77]
list2 = list1.copy()
print(list2)
list1.append(100)
print(list1)

3.count

列表.count(元素) - 统计列表中该元素出现的次数

list1 = [23, 14, 534, 63, 77]
print(list1.count(77))

4.extend

列表.extend(序列) - 将序列中的元素添加到列表中(不会产生新列表)

list1 = [23, 14, 534, 63, 77]
list1.extend(range(1, 10))
list1.extend('abc')
print(list1)

5.index(下标)

  1. 列表.index(元素) - 获取指定元素的下标值

元素不存在时候报错,元素存在多个时候,只返回最前面那一个的下标值

2)列表.index(元素,开始下标,结束下标) - 在开始下标到结束下标的范围内获取指定元素在列表中的下标

list1 = [23, 14, 14, 534, 63, 77]
print(list1.index(14))
print(list1.index(14, -4, -1))  # 2

3.列表推导式

1.列表推导式——创建列表的表达式

格式1:

[表达式 for 变量 in 序列]

让变量去序列中取值,每取一个值就创建列表中的一个元素,元素的值为表达式的值

list1 = [1 for x in range(4)]
print(list1)
list2 = [x for x in range(4)]
print(list2)
list3 = [2 * x for x in range(4)]
print(list3)
list4 = [len(x) for x in ['abc', 'hello', 'world']]  # 每个字符串的长度
print(list4)
list5 = [x % 10 for x in [23, 453, 52, 346]]
print(list5)

格式2:

[表达式 for 变量 in 序列 if 条件语句]

先让变量去序列中取值,然后每取一个值就进行一次if判断,如果判断为True,则创建一个列表元素,元素的值是表达式的值

list6 = [x for x in range(6) if x & 1 == 0]
print(list6)
list7 = [x**2 for x in range(10) if x % 2]    # [1, 9, 25, 49, 81]
print(list7)

格式3:

[for 变量1 in 序列1 for 变量2 in 变量2 if 条件语句]

for 变量1 in 序列1
for 变量2 in 序列2
if 条件语句
产生一个列表元素

你可能感兴趣的:(Python基础语法,列表,python)