二.数据类型

二.数据类型

1.字典

1.1说一下字典和 json 的区别?

字典是一种数据结构,json 是一种数据的表现形式,字典的 key 值只要是能 hash 的就行,json 的必须是字符串


1.2什么是可变、不可变类型?

可变不可变指的是内存中的值是否可以被改变,不可变类型指的是对象所在内存块里面的值不可以改变,有数值、字符串、元组;可变类型则是可以改变,主要有列表、字典。


1.3 字典推导式?

d = {key: value for (key, value) in iterable}

1.4字典排序

# 请按字 典中的 value值进行排序
d = {'a': 24, 'g': 52, 'l': 12, 'k': 33}
sorted(d.items(), key=lambda x: x[1])  # [('l', 12), ('a', 24), ('k', 33), ('g', 52)]

sorted()内置函数详解



2.字符串

2.1 如何理解 Python 中字符串中的字符?

有三种不同的含义:
1、转义字符

2、路径名中用来连接路径名

3、编写太长代码手动软换行


2.2 请反转字符串“aStr”?

str1 = "aStr"
str2 = str1[::-1]

2.3 请按 alist 中元素的 age 由大到小排序

alist = [{'name':'a','age':20},{'name':'b','age':30},{'name':'c','age':25}]

def sort_by_age(lst):
    return sorted(lst, key=lambda x:x['age'], reverse=True)

res = sort_by_age(alist)


3.列表

3.1 写一个列表生成式,产生一个公差为 11 的等差数列

[i*11 for i in range(10)]

3.2 给定两个列表,怎么找出他们相同的元素和不同的元素?

list1 = [1, 2, 3]
list2 = [3, 4, 5]
set1 = set(list1)
set2 = set(list2)
print(set1&set2)
print(set1^set2)

3.3 下面这段代码的输出结果是什么?请解释?

def extend_list(val, lst=[]):
    lst.append(val)
    return lst


list1 = extend_list(10)
list2 = extend_list(123, [])
list3 = extend_list('a')

print(list1, list2, list3, sep='
')

新的默认列表只在函数被定义的那一刻创建一次。当 extendList 被没有指定特定参数 list 调用时,这组 list 的值随后将被使用。这是因为带有默认参数的表达式在函数被定义的时候被计算,不是在调用的时候被计算



4.元组

tuple:元组,元组将多样的对象集合到一起,不能修改,通过索引进行查找,使用括号”()”;
应用场景:把一些数据当做一个整体去使用,不能修改;



5.集合

set:set 集合,在 Python 中的书写方式的{},集合与之前列表、元组类似,可以存储多个数据,但是这些数据是不重复的。集合对象还支持

union(联合)

intersection(交)

difference(差)
sysmmetric_difference(对称差集)

等数学运算

原文地址:https://www.cnblogs.com/pankypan/p/11066841.html